使用Nifi将Teradata表数据加载到配置单元表中的最佳方法是什么?

时间:2018-08-03 08:33:13

标签: hive teradata apache-nifi

我是Nifi的新手,所以您能帮助我了解此平台及其功能吗? 我是否可以使用Nifi进程在Hive中创建一个新表,并按照下面定义的方式每周将数据从Teradata数据库移入该表? 我将如何处理?不确定我是否正在建立明智的流程。

以下过程就足够了: QueryDatabaseTable (并为teradata配置一个池服务,并定义新的表名和调度摄取)-> PutHiveStreaming (创建已定义的表)较早) 然后如何将Teradata架构拉入新表?

1 个答案:

答案 0 :(得分:2)

如果您要在提取过程中创建新的配置单元表,则

方法1:

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

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

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

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

流量: enter image description here

方法2:

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