我正在尝试将CSV数据摄入Hive数据库。为此,
我尝试了
listFile --> FetchFile --> ConvertCSVToAvro --> ConvertAvroToOrc --> PutHDFS
CSV数据将转换为ORC格式,数据加载到HDF中。在此HDFS数据之上,我能够创建蜂巢外部表。
现在,我想使用putHiveQL
处理器进行测试。
为此,我需要将CSV数据转换为avro?
orc数据不能直接加载到Hive中?
如果是,我们必须手动创建蜂巢表或自动创建?
我们可以在nifi 流本身中创建蜂巢表。
convertavrotoorc 处理器使用该属性将hive.ddl
属性添加到Flowfles,我们可以使用PuthiveQL处理器在Hive中创建表。
listFile --> FetchFile --> ConvertCSVToAvro --> ConvertAvroToOrc --> PutHDFS -->
ReplaceText(Always replace with ${hive.ddl}) --> PutHiveQL
请参阅我的详细解释,以详细说明NIFI流以在Hive中动态创建表/分区。
- 一旦将 ORC 数据加载到
HDFS
中,然后在HDFS目录的顶部创建表。 - 使用
SelectHiveQL
从表和基于的数据读取数据在处理器结果中选择的output format(csv,avro)
上以这种格式的flowfile。