我正在为自定义数据源(属性文件)实现spark(1.5.2) sql RelationProvider。
请解释一下如何实现自动推理算法好吗?
发布于 2016-05-31 17:33:10
通常,您需要创建一个表示模式的StructType。StructType包含一个Array[StructField],其中数组的每个元素对应于架构中的一个列。StructField可以是任何受支持的DataType --包括用于嵌套模式的另一个StructType。
创建模式可以非常简单,如:
val schema = StructType(Array(
StructField("col1", StringType),
StructField("col2", LongType)
))如果您想要从一个复杂的数据集(包括嵌套StructTypes )生成一个模式,那么您很可能需要创建一个递归函数。在spark-avro集成库中可以找到这类函数的一个很好的示例。函数toSqlType接受一个Avro模式并将其转换为SparkStructType。
https://stackoverflow.com/questions/37546260
复制相似问题