我正在尝试将csv数据提取到Hive数据库中。为此,
我尝试过
listFile --> FetchFile --> ConvertCSVToAvro --> ConvertAvroToOrc --> PutHDFS
csv数据被转换为ORC格式,并且数据正在加载到HDFS中。在此HDFS数据之上,我可以创建配置单元外部表。
现在,我想使用putHiveQL
处理器进行测试。
为此,我需要将CSV数据转换为AVRO还是JSON?
ORC数据不能直接加载到Hive吗?
如果是,我们必须手动创建Hive表还是自动创建?
答案 0 :(得分:1)
我们可以在NiFi流中创建 Hive表。
ConvertAvroToOrc 处理器使用该属性将hive.ddl
属性添加到流文件,我们可以使用PutHiveQL处理器在Hive中创建表。
listFile --> FetchFile --> ConvertCSVToAvro --> ConvertAvroToOrc --> PutHDFS -->
ReplaceText(Always replace with ${hive.ddl}) --> PutHiveQL
请参阅this,我详细解释了NiFi流程,该流程可在蜂巢中动态创建表/分区。
HDFS
中,然后在HDFS目录顶部创建表。SelectHiveQL
从表中读取数据
在处理器中选择的output format(csv,avro)
上
这种格式的流文件。