我是nifi的新手,所以您能帮助我了解这个平台及其功能吗。我是否能够使用nifi进程在hive中创建一个新表,并按照下面定义的方式每周从teradata数据库将数据移动到其中?我该怎么办?不确定我是否在建立一个合理的流程。
下面的过程是否足够:querydatabasetable(并为teradata配置一个池服务,定义一个新的tablename和schedule摄取)-->puthivestreaming(创建前面定义的表),然后如何将teradata模式拉入新表?
我是nifi的新手,所以您能帮助我了解这个平台及其功能吗。我是否能够使用nifi进程在hive中创建一个新表,并按照下面定义的方式每周从teradata数据库将数据移动到其中?我该怎么办?不确定我是否在建立一个合理的流程。
下面的过程是否足够:querydatabasetable(并为teradata配置一个池服务,定义一个新的tablename和schedule摄取)-->puthivestreaming(创建前面定义的表),然后如何将teradata模式拉入新表?
1条答案
按热度按时间jogvjijk1#
如果您想在接收过程中创建新的配置单元表,那么
方法1:
使用convertavrotoorc处理器将hive.ddl(外部表)属性添加到流文件中,因为我们可以使用该属性并使用puthiveql处理器执行,然后我们就可以在hive中创建表。
如果要创建事务表,则需要更改hive.ddl属性。
有关详细信息,请参阅此链接。如果您只想从源中提取增量记录,那么可以使用
listdatabasetables(列出源数据库中的所有表)+generatetablefetch(存储状态)处理器
流量:
方法2:
querydatabasetable处理器将以avro格式生成flowfile,然后您可以使用extractavrometadata处理器来提取avro模式通过使用一些脚本,我们可以用所需的模式创建一个新属性(即托管/外部/事务表)。