首页 > 解决方案 > 如何使用 apache nifi 将多个 json 文件加载到具有正确映射的多个配置单元表中?

问题描述

我需要使用 apache nifi 将基于表名的多个 csv 文件摄取到它们各自的配置单元表中。源 json 文件中 table_address 的数据应转到 hive 中的 table_address ,对于其他表也是如此。简而言之,来自源 json 文件的记录需要以 tablename.csv 格式分离到多个 csv 文件中,并加载到各自的 hive 表中。

我正在使用的处理器消耗 kafka ---> splitjson ----> evaluatejsonpath ----> updateattribute ----> replacetext ----> putfile

来自 kafka Golden Gate 试验的源 json 文件的记录需要以 tablename.csv 格式分离到多个 csv 文件中,并使用 apache nifi 流加载到它们各自的 hive 表中。

标签: hadoophivebigdataapache-nifi

解决方案


您可以在 NiFi中使用PartitionRecord处理器。

  • 配置 Record Reader(json)/Writer(csv) 控制器服务

  • 输出流文件将csv format基于partition column您可以将数据存储到的值hive tables dynamically

Flow:

Consume Kafka --> 
Partition Record (specify partition field) --> 
PutFile (or) PutHiveStreaming (or) PutHDFS(based on the value of partition field)

推荐阅读