NiFi - SelectHiveQL 能否以 parquet 格式从 CDH 集群上的 table 读取数据?
Can NiFi - SelectHiveQL reads the data from a table on CDH cluster in parquet format?
我有一个用例,我必须将数据从内部 CDH 集群移动到 AWS EMR 集群。
我正在考虑在 AWS EC2 实例上设置 NiFi 以将数据从内部集群移动到 AWS s3 存储。
我在 CDH 集群上的所有 table 都以 parquet 格式存储。
问题#1:
我们在 NiFi 中是否支持允许读取镶木地板格式的 tables??
或
我唯一的选择是直接从 hdfs 目录读取数据并将其放在 s3 上,然后在 EMR 中创建配置单元 table?
问题#2:Nifi如何判断插入table的新数据并读取新数据。在我的例子中,所有 table 都按 yyyymm 分区。
如果您使用 SelectHiveQL,它可以读取 Hive 可以读取的任何内容(包括 Parquet),所有转换工作都在 Hive 中完成,并通过 JDBC 驱动程序作为结果集返回,因此您将获得数据输出为 Avro 或 CSV,具体取决于您在 SelectHiveQL 中设置的输出格式 属性。
话虽如此,您的 CDH 至少需要 1.2.1 的 Hive 版本,我已经看到很多关于 CDH 具有 Hive 1 的兼容性的问题。1.x,NiFi 不支持使用 Hive 处理器。为此,您需要像 Simba JDBC 驱动程序(不是 Apache Hive JDBC 驱动程序,它没有实现所有必要的 JDBC 方法),您可以使用 ExecuteSQL 和其他 SQL 个带有 JDBC 驱动程序的处理器。
我有一个用例,我必须将数据从内部 CDH 集群移动到 AWS EMR 集群。 我正在考虑在 AWS EC2 实例上设置 NiFi 以将数据从内部集群移动到 AWS s3 存储。
我在 CDH 集群上的所有 table 都以 parquet 格式存储。
问题#1: 我们在 NiFi 中是否支持允许读取镶木地板格式的 tables??
或
我唯一的选择是直接从 hdfs 目录读取数据并将其放在 s3 上,然后在 EMR 中创建配置单元 table?
问题#2:Nifi如何判断插入table的新数据并读取新数据。在我的例子中,所有 table 都按 yyyymm 分区。
如果您使用 SelectHiveQL,它可以读取 Hive 可以读取的任何内容(包括 Parquet),所有转换工作都在 Hive 中完成,并通过 JDBC 驱动程序作为结果集返回,因此您将获得数据输出为 Avro 或 CSV,具体取决于您在 SelectHiveQL 中设置的输出格式 属性。
话虽如此,您的 CDH 至少需要 1.2.1 的 Hive 版本,我已经看到很多关于 CDH 具有 Hive 1 的兼容性的问题。1.x,NiFi 不支持使用 Hive 处理器。为此,您需要像 Simba JDBC 驱动程序(不是 Apache Hive JDBC 驱动程序,它没有实现所有必要的 JDBC 方法),您可以使用 ExecuteSQL 和其他 SQL 个带有 JDBC 驱动程序的处理器。