我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?

Posted

技术标签:

【中文标题】我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?【英文标题】:How we do Testing on migrated data from RDBMS to HDFS using SQoop? 【发布时间】:2017-06-06 01:21:21 【问题描述】:

    测试人员如何测试数据是否从 RDBMS 移动到 HDFS?请仅从测试角度解释。

    将数据从 RDBMS 移动到 HDFS 和将数据从 RDBMS 移动到 HIVE 有什么区别?我知道 HIVE 不是数据库,那么为什么要将数据移动到 HIVE?

【问题讨论】:

【参考方案1】:

话题很大。我会尽量简单地回答。

测试人员如何测试数据是否从 RDBMS 移动到 HDFS?请 仅从测试角度解释。

这就是我们过去所做的。一旦迁移活动发生。我们编写了一堆测试脚本,用大量随机记录轮询 RDBMS。从每条记录中准备主键,然后在 hive 表上搜索这些 PK,并确实与两个结果集进行了头对头匹配。

将数据从 RDBMS 移动到 HDFS 和将数据从 RDBMS 移动到 HIVE 有什么区别?我知道 HIVE 不是数据库,那么为什么要将数据移动到 HIVE

当您将数据移动到 HDFS 时,您会将整个数据集存储到 FS(即文件系统)中。 Hive 只不过是一个 Sql Wrapper,它使用相同的文件并为您提供一个 Sql 接口来读取/写入相同的数据。 Hive 不是一个实际的数据库,但它可以用作数据库。

假设您的基础文件是一个简单的 csv。 Hive 在创建 Hive 表时提供分隔符、文件名、列信息和几个其他参数,Hive 将表示同一个文件,就好像它是一个表一样。

之后,您可以从 hive 表中添加/删除/更新记录或直接编辑 CSV。

【讨论】:

感谢您的回复。您能否告诉我以下场景:假设开发人员使用 sqoop 将数据从 RDBMS 迁移到 HDFS。现在我必须测试什么以及如何测试迁移的数据?我们是否也使用 sqoop 进行测试?如果是,那怎么办?

以上是关于我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SQOOP 和 FLUME 将数据从 RDBMS 移动到 Hadoop

使用Hive表名将Sqoop导出hive表导出到RDBMS

使用 sqoop 将表从 RDBMS 导入 HIVE 后约束是不是仍然存在?

使用 Sqoop 的 HDFS 到 RDBMS - 表创建

除了 SQOOP,还有啥方法可以从 RDBMS 传输到 HDFS?

使用 Sqoop 将 RDBMS 更新到 HDFS