首页 > 解决方案 > 使用 Nifi 将 teradata 表数据加载到配置单元表中的最佳方法是什么?

问题描述

我是 Nifi 的新手,所以你能帮我了解这个平台及其功能吗?我是否能够使用 Nifi 进程在 Hive 中创建一个新表,并按照我在下面定义的方式每周将数据从 teradata 数据库移入其中?我该怎么办?不确定我是否正在建立一个合理的流程。

以下过程是否足够:QueryDatabaseTable(并为 teradata 配置池服务并定义新表名和计划摄取)-> PutHiveStreaming(创建之前定义的表)然后如何将 teradata 模式拉入新表?

标签: hiveteradataapache-nifi

解决方案


如果您想在摄取过程中创建新的配置单元表,那么

方法1:

使用 ConvertAvroToOrc 处理器将hive.ddl(external table)属性添加到流文件中,因为我们可以使用此属性并使用 PutHiveQL 处理器执行,然后我们就可以在 hive 中创建表。

如果要创建事务表,则需要更改 hive.ddl 属性。

有关更多详细信息,请参阅链接。如果您只想从源中提取增量记录,那么您可以使用

ListDatabaseTables(列出源数据库中的所有表)+ GenerateTableFetch(存储状态)处理器

流动: 在此处输入图像描述

方法2:

QuerydatabaseTable 处理器将生成 Avro 格式的流文件,然后您可以使用ExtractAvroMetaData处理器通过使用一些脚本来提取avro 模式,我们可以创建一个具有所需模式的新属性(即托管/外部/事务表)。


推荐阅读