首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从avsc文件自动创建StructType

从avsc文件自动创建StructType
EN

Stack Overflow用户
提问于 2016-03-17 22:48:22
回答 2查看 1.4K关注 0票数 1

在将avro文件读入spark data frame (1.3.0版)时,我看到人们通过代码创建StructType。

但我不想将模式硬编码到我的代码中。相反,我想读取一个包含模式的外部"AVSC“文件并生成StructType。

这有可能吗?如果是,是如何实现的?

EN

回答 2

Stack Overflow用户

发布于 2018-01-23 21:11:13

我认为这对你来说是可行的:

代码语言:javascript
复制
val sqlType = SchemaConverters.toSqlType(yourSchema).dataType.asInstanceOf[StructType]
票数 1
EN

Stack Overflow用户

发布于 2016-03-18 05:56:27

在databricks提供的git hub中似乎有一个spark-avro项目。https://github.com/databricks/spark-avro

使用此项目,您无需指定任何模式即可读取avro文件。支持的Spark版本是sparkVersion := "1.4.1“

代码语言:javascript
复制
val sqlContext = new SQLContext(sc)
val df = sqlContext.read
    .format("com.databricks.spark.avro")
    .load("src/test/resources/episodes.avro")

df.filter("doctor > 5").write
    .format("com.databricks.spark.avro")
    .save("/tmp/output")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36063986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档