用于 Hive 插入查询的 ConvertJsonToSQL
Posted
技术标签:
【中文标题】用于 Hive 插入查询的 ConvertJsonToSQL【英文标题】:ConvertJsonToSQL for Hive Insert query 【发布时间】:2020-05-14 20:11:42 【问题描述】:我想将 Json 插入 hive 数据库。
我尝试使用 ConvertJsonToSQL Ni-Fi 处理器将 Json 转换为 SQL。如何在查询中使用PARTITION (....)
部分??
我可以这样做还是应该使用 ReplaceText 处理器进行查询?
【问题讨论】:
【参考方案1】:您使用的是哪个版本的 Hive?有 Hive 1.2 和 Hive 3 版本的 PutHiveStreaming 和 PutHive3Streaming(分别)让您可以将数据直接放入 Hive,而无需发出 HiveQL 语句。对于 ORC 格式的外部 Hive 表,还有 ConvertAvroToORC(用于 Hive 1.2)和 PutORC(用于 Hive 3)处理器。
假设这些不适用于您的用例,您还可以考虑将 ConvertRecord 与 FreeFormTextRecordSetWriter 结合使用,后者使用 PARTITION 语句等生成 HiveQL。与尝试修补 SQL 语句以将其转换为分区表的 HiveQL 相比,它提供了更大的灵活性。
编辑:由于空间原因,我忘了提到 Hive 3 NAR/组件不包含在 NiFi 版本中。您可以找到适用于 NiFi 1.11.4 here 的 Hive 3 NAR。
【讨论】:
感谢您的回答,@mattyb 但我还没有将PutHive3Streaming 处理器放入我的nifi (1.11.4) 我更新了我的答案以包含指向 NAR 的链接(默认情况下不包含)以上是关于用于 Hive 插入查询的 ConvertJsonToSQL的主要内容,如果未能解决你的问题,请参考以下文章