hadoop - 如何使用 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 表中。
解决方案
您可以在 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)
推荐阅读
- ios - 如何从pdf文件中删除注释
- javascript - for循环/在javascript中分配
- angular - 构建一个角度项目
- mysql - 执行 JPQL 查询时遇到问题
- python - MNIST - ValueError:解包的值太多(预期为 2)
- mysql - MySql 中的二级索引是什么?
- ejb - 模块重启后,WildFly 上的 Quartz Job 远程 EJB 调用失败
- python - 在 Tensorflow 的 AlexNet 实现中查找输出节点
- jmeter - 如何循环一个jmeter请求?
- android - Android MotionLayout 暂停