【问题标题】:Automatic spark schema inference for custom data source自定义数据源的自动火花模式推断
【发布时间】:2016-05-31 12:49:56
【问题描述】:

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

谁能解释一下自动推理算法应该如何实现?

【问题讨论】:

标签: apache-spark apache-spark-sql apache-spark-1.5


【解决方案1】:

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

创建架构可以很简单:

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

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

【讨论】:

  • 谢谢@david-griffin,但我在自动模式发现/推理。我应该如何对数据进行采样并合并架构?
猜你喜欢
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多