【问题标题】:What's the best approach to load teradata table data into a hive table using Nifi?使用 Nifi 将 teradata 表数据加载到配置单元表中的最佳方法是什么?
【发布时间】:2019-01-11 02:23:51
【问题描述】:

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

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

【问题讨论】:

    标签: hive teradata apache-nifi


    【解决方案1】:

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

    方法一:

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

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

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

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

    流程:

    方法2:

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

    【讨论】:

      猜你喜欢
      • 2017-06-24
      • 2010-12-30
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多