【问题标题】:How to convert existing text data in hdfs to Avro?如何将 hdfs 中的现有文本数据转换为 Avro?
【发布时间】:2018-04-27 13:25:57
【问题描述】:

我有一个以文本格式存储的 hdfs 表,所以现在我需要在其间添加新列。所以我想在 avro 中加载新列,因为 Avro 支持模式演变,但现在以前的数据仍然是文本格式。

【问题讨论】:

  • ORC 和 Parquet 也支持列添加...或者,文本格式允许在末尾添加列。这真的不是问题,因为您可以更改选择查询的字段顺序
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。

标签: hadoop hdfs avro avro-tools


【解决方案1】:

如果您已经有一个表,您可以将其直接从配置单元加载到 avro 表中,如果没有,您可以为该文本文件创建配置单元表并将其加载到 avro 表中。 类似的东西

create table test(fields type)  row format delimited fields terminated by ',' stored as textile location 'textfilepath';
create table avrotbl like test stored as avrofile;
insert into abrotbl select * from test;

【讨论】:

  • 这会正确生成 avro 架构吗?我知道它适用于 ORC 或 Parquet,因为它们是柱状格式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 1970-01-01
相关资源
最近更新 更多