使用NIFI将CSV数据摄入Hive



我正在尝试将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。

最新更新