单元测试 Sqoop 应用程序

Unit Testing Sqoop Applications

我正在使用 SQOOP 作为一种技术将大量数据从 mysql 下载到 HDFS。有时,我需要在sqoop中写一些特殊的查询来下载数据。

我对 sqoop 感到的一个问题是它实际上无法测试。绝对没有对 sqoop 进行单元测试的指南或技术。

如果有人在用sqoop做数据整合。您如何测试您的 sqoop 应用程序?

Afaif目前还没有sqoop的单元测试框架,你可以按照下面的方法

1) 安排一个 sqoop 评估作业,它将有源查询以显示源 table.

的输出
$ sqoop eval --connect jdbc:mysql://db.example.com/corp \
        --query "SELECT * FROM employees LIMIT 10"

2)运行对应的hive查询或hdfs shell命令获取sqoop完成后的数据或计数

如果您不通过 --query 使用自由格式查询,您可以使用内置 --validate 选项来匹配源 table 和 HDFS 中的记录数。不幸的是,它会在 MS SQL 中的大 table 上失败(记录计数>int 容量),因为 Sqoop 不知道 count_big()