【问题标题】:Expressing spark `StructType` in avro schema在 avro 模式中表达 spark `StructType`
【发布时间】:2020-07-18 08:13:29
【问题描述】:

您如何描述 avro 模式中的 spark StructType 数据类型?我正在生成一个镶木地板文件,其格式在 avro 模式中进行了描述。然后将该文件从 S3 加载到 spark 中。有 arraymap 数据类型,但它们与 StructType 不对应。

【问题讨论】:

    标签: apache-spark avro parquet


    【解决方案1】:

    使用包 org.apache.spark.sql.avro (Spark 2.4),您可以将 sparkSQL 模式转换为 avro 模式,反之亦然。

    你不能这样尝试:

    import org.apache.spark.sql.avro.SchemaConverters val sqlType = SchemaConverters.toSqlType(avroSchema) var rowRDD = yourGeneircRecordRDD.map(record => genericRecordToRow(record, sqlType)) val df = sqlContext.createDataFrame(rowRDD , sqlType.dataType.asInstanceOf[StructType])

    您也可以在这里找到更多答案:Code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多