【问题标题】:Ingesting CSV data into Hive using NiFi使用 NiFi 将 CSV 数据摄取到 Hive
【发布时间】:2019-10-03 12:15:18
【问题描述】:

我正在尝试将 csv 数据摄取到 Hive 数据库中。为此,

我试过了

listFile --> FetchFile --> ConvertCSVToAvro --> ConvertAvroToOrc --> PutHDFS

csv 数据转换为 ORC 格式,数据正在加载到 HDFS。在这个 HDFS 数据之上,我可以创建 hive 外部表。

现在,我想用putHiveQL 处理器进行测试。

为此,我需要将 CSV 数据转换为 AVRO 到 JSON?

ORC 数据不能直接加载到 Hive 中?

如果是,我们必须手动创建 Hive 表还是自动创建?

【问题讨论】:

    标签: hadoop hive apache-nifi avro orc


    【解决方案1】:

    我们可以在 NiFi 中创建 Hive 表流本身。

    ConvertAvroToOrc 处理器使用该属性将 hive.ddl 属性添加到流文件中,我们可以使用 PutHiveQL 处理器在 Hive 中创建表。

    listFile --> FetchFile --> ConvertCSVToAvro --> ConvertAvroToOrc --> PutHDFS -->
     ReplaceText(Always replace with ${hive.ddl}) --> PutHiveQL
    

    参考this 我已经详细解释了在 hive 中动态创建表/分区的 NiFi 流程。

    • 一旦 ORC 数据加载到HDFS,然后在 HDFS 目录的顶部创建表。
    • 通过使用SelectHiveQL从表中读取数据并基于 在处理器结果中选择的output format(csv,avro) 该格式的流文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多