0

我想将 Json 插入 hive 数据库。

我尝试使用 ConvertJsonToSQL Ni-Fi 处理器将 Json 转换为 SQL。如何PARTITION (....)在查询中使用部分?

我可以这样做还是应该使用 ReplaceText 处理器进行查询?

4

1 回答 1

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 的 Hive 3 NAR 。

于 2020-05-14T21:53:57.753 回答