当前位置: 首页 > 知识库问答 >
问题:

datricks avro模式不能转换为SparkSQL结构类型

翁昊乾
2023-03-14

我们有kakfa hdfs连接器以默认avro格式写入hdfs。示例o/p:

obj^A^B^Vavro.schema"["null","string"]^@$ͳø{

尝试使用以下方式阅读:

import com.databricks.spark.avro._
    val df = spark.read.avro("..path to avro file")

我们得到以下错误

JAVAlang.RuntimeException:无法在com上将Avro架构转换为Spark SQL StructType:[“null”,“string”]。databricks。火花阿夫罗。DefaultSource。org上的inferSchema(DefaultSource.scala:93)。阿帕奇。火花sql。处决数据源。数据源$$anonfun$7。在org上申请(DataSource.scala:184)。阿帕奇。火花sql。处决数据源。数据源$$anonfun$7。在scala上应用(DataSource.scala:184)。选项orElse(Option.scala:289),网址:org。阿帕奇。火花sql。处决数据源。数据源。org$apache$spark$sql$execution$datasources$DataSource$$getOrInferFileFormatSchema(DataSource.scala:183)位于org。阿帕奇。火花sql。处决数据源。数据源。resolveRelation(DataSource.scala:387)位于org。阿帕奇。火花sql。DataFrameReader。在org上加载(DataFrameReader.scala:152)。阿帕奇。火花sql。DataFrameReader。在com上加载(DataFrameReader.scala:135)。databricks。火花阿夫罗。套餐$AvroDataFrameReader$$anonfun$avro$2。在com上申请(package.scala:34)。databricks。火花阿夫罗。套餐$AvroDataFrameReader$$anonfun$avro$2。申请(套餐:scala:34)

请帮忙

Spark版本:2.11

Spark avro版本:2.11-3.2.0

Kafka版本:0.10.2.1

共有1个答案

简培
2023-03-14

您的avro格式文件不正确。架构的类型必须为:record。我无法附加一个有效的avro格式的文件抱歉。但你可以参考这个链接。Avro格式文件示例

avro.schema¨{"type":"record"

从火花来看,你所做的一切都是好的。

import com.databricks.spark.avro._
sqlContext.read.avro(..paht of file)
 类似资料:
  • 从上面的标题来看,目前我遇到了一个问题,即无法从一个模型类转换到另一个模型类。我写的代码有问题吗?请随时向我询问更多信息。非常感谢。 我怀疑: 这种方法“selectTheOldFnException”有一些错误,那就是使用了hibernate,但我不确定这个理论。 REST控制器 使用HIBERNATE-MatchingEngine选择POJO。班 POJO班 例外代码

  • 我将调用(used)的响应传递给一个类,并尝试将其强制转换到我的模型类。由于我对调用使用的是registfit,因此它在使用GSON将其转换为模型类对象之前,根据服务器的响应生成一个链接的hashmap。(这就是我所理解的,如果我错了请纠正我)。我已经附加了一个使用response对象进行调试时可以看到的图像。如何将此响应转换为我的模型类或类型对象的对象。当我试图将类型对象强制转换到活动中的模型类

  • 我试图编译一个从SourceForge得到的仍在开发中的项目。这是它的地址:。https://sourceforge.net/p/groove/code/5475/tree/groove/trunk/我知道这个项目经过了很好的验证,它没有任何错误,但是当我要编译它的时候,我遇到了这个编译错误: 错误在这个文件的第370行:https://sourceforge.net/p/groove/code/

  • 问题内容: 是否有一个python库,用于将JSON模式转换为python类定义,类似于jsonschema2pojo- https : //github.com/joelittlejohn/jsonschema2pojo- 适用于Java? 问题答案: 到目前为止,我能够找到的最接近的东西是warlock,它可以宣传此工作流程: 建立架构 建立模型 使用模型创建对象 但是,这并不是那么容易。术士

  • 我想将此现有代码转换为使用模式匹配: 如何编写带有模式匹配的实例检查,以及如何同时测试多种可能的类型,如?

  • 获取以下错误: 请帮我把结果设置到这个BO类中。