读取 Avro 文件时不是数据文件错误

卡西

我有一个包含 Avro 格式数据的文件。我想将这些数据读入 GenericRecord 类型数据结构或任何其他类型的数据结构,以便我能够将它从 Kafka 发送到 Spark。

我尝试使用 DataFileReader,但结果是这个错误:

Exception in thread "main" java.io.IOException: Not a data file.
    at org.apache.avro.file.DataFileStream.initialize(DataFileStream.java:105)

这是生成它的代码:

val schema = Source.fromFile(schemaPath).mkString
val parser = new Schema.Parser
val avroSchema = parser.parse(schema)
val avroDataFile = new File(dataPath)

val avroReader = new GenericDatumReader[GenericRecord](avroSchema)
val dataFileReader = new DataFileReader[GenericRecord](avroDataFile, avroReader) 
//THIS LINE PRODUCED ERROR

我该如何解决这个错误?

这是我的 Avro 数据架构的样子:

{
  "type" : "record",
  "namespace" : "input_data",
  "name" : "testUser",
  "fields" : [
    {"name" : "name", "type" : "string", "default": "NONE"},
    {"name" : "age", "type" : "int", "default": -1},
    {"name" : "phone", "type" : "string", "default" : "NONE"},
    {"name" : "city", "type" : "string", "default" : "NONE"},
    {"name" : "country", "type" : "string", "default" : "NONE"}
  ]
}

这是我试图读取的数据(它是由这个工具生成的):

{
  "name" : "O= ~usP3\u0001\bY\u0011k\u0001",
  "age" : 585392215,
  "phone" : "\u0012\u001F#\u001FH]e\u0015UW\u0000\fo",
  "city" : "aWi\u001B'\u000Bh\u00163\u001A_I\u0001\u0001L",
  "country" : "]H\u001Dl(n!Sr}oVCH"
}
{
  "name" : "\u0011Y~\fV\u001Dv%4\u0006;\u0012",
  "age" : -2045540864,
  "phone" : "UyOdgny-hA",
  "city" : "\u0015f?\u0000\u0015oN{\u0019\u0010\u001D%",
  "country" : "eY>c\u0010j\u0002[\u001CdDQ"
}
...
一个板球运动员

好吧,该数据不是 Avro,而是 JSON。

如果它是二进制 Avro 数据,您将无法在不首先使用avro-tools.jar tojsonaction 的情况下读取文件

如果您查看使用文档,则默认使用 JSON

-j, --json: Encode outputted data in JSON format (default)

要真正获得 Avro,请使用 arg -s schema.avsc -b -o out.avro

在Kafka中还有其他生成测试数据的方式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PySpark中读取Avro文件

来自分类Dev

从数据文件解析Avro模式

来自分类Dev

如何从Java中的Avro-Parquet文件读取特定字段?

来自分类Dev

创建Hive表以从Parquet / Avro模式读取Parquet文件

来自分类Dev

在Spark中读取Avro文件并提取列值

来自分类Dev

熊猫在读取CSV数据文件时返回的错误最大值

来自分类Dev

如何从Java读取Avro?

来自分类Dev

KStream:读取和写入 Avro 记录时出错

来自分类Dev

从数据文件中读取数据点

来自分类Dev

gnuplot从数据文件列读取线型

来自分类Dev

gnuplot从数据文件列读取线型

来自分类Dev

Weblogic读取元数据文件

来自分类Dev

在C ++中读取“大”数据文件

来自分类Dev

如何读取CSV并生成由Pig按第一列的值分组的json / avro文件?

来自分类Dev

如何在Spark2.4的spark2-shell中读取Avro文件?

来自分类Dev

使用Pyspark内核在Jupyter笔记本中读取Spark Avro文件

来自分类Dev

读取Avro文件会给出AvroTypeException:缺少必填字段错误(即使在架构中将新字段声明为null)

来自分类Dev

Python & Pandas:读取数据时如何跳过创建中间数据文件?

来自分类Dev

熊猫给出错误信息以读取txt数据文件

来自分类Dev

尝试读取使用Python数组模块创建的数据文件时出现问题

来自分类Dev

AttributeError:使用Python从AVRO读取时,'str'对象没有属性'decode'

来自分类Dev

使用Databricks从Azure EventHubs Capture生成的Azure Data Lake Gen1读取Avro数据失败

来自分类Dev

Kafka源vs Avro源,用于使用水槽将数据读取和写入Kafka通道

来自分类Dev

如何使用HTTP作为传输读取通过Avro序列化的二进制数据?

来自分类Dev

使用Avro工具的Concat Avro文件

来自分类Dev

无法写入avro文件

来自分类Dev

使用Avro文件分页

来自分类Dev

图片的Avro文件类型?

来自分类Dev

读取文件时Java错误

Related 相关文章

  1. 1

    如何在PySpark中读取Avro文件

  2. 2

    从数据文件解析Avro模式

  3. 3

    如何从Java中的Avro-Parquet文件读取特定字段?

  4. 4

    创建Hive表以从Parquet / Avro模式读取Parquet文件

  5. 5

    在Spark中读取Avro文件并提取列值

  6. 6

    熊猫在读取CSV数据文件时返回的错误最大值

  7. 7

    如何从Java读取Avro?

  8. 8

    KStream:读取和写入 Avro 记录时出错

  9. 9

    从数据文件中读取数据点

  10. 10

    gnuplot从数据文件列读取线型

  11. 11

    gnuplot从数据文件列读取线型

  12. 12

    Weblogic读取元数据文件

  13. 13

    在C ++中读取“大”数据文件

  14. 14

    如何读取CSV并生成由Pig按第一列的值分组的json / avro文件?

  15. 15

    如何在Spark2.4的spark2-shell中读取Avro文件?

  16. 16

    使用Pyspark内核在Jupyter笔记本中读取Spark Avro文件

  17. 17

    读取Avro文件会给出AvroTypeException:缺少必填字段错误(即使在架构中将新字段声明为null)

  18. 18

    Python & Pandas:读取数据时如何跳过创建中间数据文件?

  19. 19

    熊猫给出错误信息以读取txt数据文件

  20. 20

    尝试读取使用Python数组模块创建的数据文件时出现问题

  21. 21

    AttributeError:使用Python从AVRO读取时,'str'对象没有属性'decode'

  22. 22

    使用Databricks从Azure EventHubs Capture生成的Azure Data Lake Gen1读取Avro数据失败

  23. 23

    Kafka源vs Avro源,用于使用水槽将数据读取和写入Kafka通道

  24. 24

    如何使用HTTP作为传输读取通过Avro序列化的二进制数据?

  25. 25

    使用Avro工具的Concat Avro文件

  26. 26

    无法写入avro文件

  27. 27

    使用Avro文件分页

  28. 28

    图片的Avro文件类型?

  29. 29

    读取文件时Java错误

热门标签

归档