如何将 hdfs 中的现有文本数据转换为 Avro?

How to convert existing text data in hdfs to Avro?

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

如果你已经有一个 table 你可以直接从 hive 加载它到 avro table,如果没有你可以为那个文本文件创建 hive table 并将它加载到 avro table。 像

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;