使用 Apache Nifi 将数据从 Hive 拉取到 SQL 服务器而不重复
Pull Data from Hive to SQL Server without duplicates using Apache Nifi
抱歉,我是 Apache Nifi 的新手。所以我做了一个关于从 Hive 中提取数据并将其存储在 SQL 中的数据流。我的数据流没有错误,唯一的问题是,它反复拉取数据。
我的数据流包括以下内容:
- SelectHiveQL
- SplitAvro
- ConvertAvroToJson
- ConvertJsonTOSQL
- 放SQL
例如,我的 table 在配置单元中只有 20 行,但是当我 运行 数据流并检查我在 MS SQL 中的 table 时。它保存了 5,000 行。 SelectHiveQL 反复拉取数据
我需要做什么才能只拉取 20 行或只是我的 Hive 中的确切行数 Table?
谢谢
SelectHiveQL(像许多 NiFi 处理器一样)运行s 在用户指定的时间表上。要使处理器仅 运行 一次,您可以将 运行 计划设置为 30 秒,然后启动并立即停止处理器。处理器将被触发一次,停止它不会中断当前的执行,只会导致它不再被调度。
另一种方法可能是将 运行 计划设置得非常大,这样它每隔很长的时间间隔(天、年等)只执行一次
抱歉,我是 Apache Nifi 的新手。所以我做了一个关于从 Hive 中提取数据并将其存储在 SQL 中的数据流。我的数据流没有错误,唯一的问题是,它反复拉取数据。
我的数据流包括以下内容:
- SelectHiveQL
- SplitAvro
- ConvertAvroToJson
- ConvertJsonTOSQL
- 放SQL
例如,我的 table 在配置单元中只有 20 行,但是当我 运行 数据流并检查我在 MS SQL 中的 table 时。它保存了 5,000 行。 SelectHiveQL 反复拉取数据
我需要做什么才能只拉取 20 行或只是我的 Hive 中的确切行数 Table?
谢谢
SelectHiveQL(像许多 NiFi 处理器一样)运行s 在用户指定的时间表上。要使处理器仅 运行 一次,您可以将 运行 计划设置为 30 秒,然后启动并立即停止处理器。处理器将被触发一次,停止它不会中断当前的执行,只会导致它不再被调度。
另一种方法可能是将 运行 计划设置得非常大,这样它每隔很长的时间间隔(天、年等)只执行一次