0

我正在为自定义数据源(属性文件)实现 spark(1.5.2) sql RelationProvider。

有人可以解释一下应该如何实现自动推理算法吗?

4

1 回答 1

0

通常,您需要创建一个StructType代表您的架构的。AStructType包含一个Array[StructField],其中数组的每个元素对应于架构中的一列。AStructField可以是任何受支持的DataType——包括StructType嵌套模式的另一个。

创建模式可以很简单:

val schema = StructType(Array(
  StructField("col1", StringType),
  StructField("col2", LongType)
))

如果您想从一个复杂的数据集(包括嵌套的数据集)生成一个模式,StructTypes那么您很可能需要创建一个递归函数。可以在spark-avro集成库中找到一个很好的示例来说明此类函数的外观。toSqlType函数采用Avro模式并将其转换为 Spark StructType

于 2016-05-31T17:33:10.643 回答