1平面文件,不同的模式取决于一个值

yws3nbqq  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(334)

如果我有一个平面文件,并且列数随输入字段的变化而变化,
如:
a、 0,00,01,亚历克斯
b、 2,小时
a、 2,22,02,保罗
c、 99个
所以这里a有4个字段(id,number,rank,name),b有2个字段(weight,height),类似于c。
现在,存储此数据的最佳方式是什么(hive或hbase)。因为我需要查询数据进行分析。也让我知道最好的方法吗?
还可以根据第一个字段的输入创建avro模式吗?请帮忙。。

cl25kdpy

cl25kdpy1#

如果只有一个文件,则配置单元无法查询具有更改架构的多个行
使用hive所能做的最好的事情就是为标签的最大宽度定义每一列,然后其余的“空列”将为null。它可以工作,但当你查询时它看起来不干净。
对不起,我不熟悉hbase。
对于avro,一个avro文件只能有一个模式。因此,与hive一样,需要为没有列的行定义每个字段和默认值
就我个人而言,我使用pig或spark过滤标签,将它们写入不同的文件,然后用它们创建hive(或hbase)表。假设您实际上需要一个持久查询层,而不是简单地处理来自原始文件的所有数据
您可以公开spark thriftserver以进行交互式查询

相关问题