在我们的项目中,我们有从源目录加载到hdfs目标目录的要求。我们必须验证数据转换(从源到目标)是否符合转换规则。它们为我们提供源表的平面文件(单个平面文件/表)以及目标表的平面文件。我们必须通过hive进行数据验证我们怎样才能做到这一点,这里面有什么自动化的范围吗。我对hadoop技术非常熟悉。请帮帮我
dy1byipe1#
请尝试以下步骤验证数据-1-编写自定义udf并对行应用验证规则,您可以使用regex在udf中编写验证规则。2-写入自定义serde或inputformat以在配置单元表中加载时验证数据。3-尝试mapreduce作业直接进行数据验证。如果源系统是rdbms,那么可以使用sqoop将数据导入hdfs或直接导入hive。sqoop具有内置功能,可以使用行计数和复制的行数验证导入/导出。sqoop导入--连接jdbc:mysql://localhost/imdb—表电影—验证您还可以通过扩展interfaces-1-validationthreshold来创建自己的验证方案。2-validationfailurehandler。3-验证程序
example- **sqoop import --connect jdbc:mysql://localhost/imdb \--validate --validator org.apache.sqoop.validation.RowCountValidator \--validation-threshold \ org.apache.sqoop.validation.AbsoluteValidationThreshold \--validation-failurehandler \ org.apache.sqoop.validation.LogOnFailureHandler**
example-
**sqoop import --connect jdbc:mysql://localhost/imdb \
--validate --validator org.apache.sqoop.validation.RowCountValidator \
--validation-threshold \
org.apache.sqoop.validation.AbsoluteValidationThreshold \
--validation-failurehandler \
org.apache.sqoop.validation.LogOnFailureHandler**
1条答案
按热度按时间dy1byipe1#
请尝试以下步骤验证数据-
1-编写自定义udf并对行应用验证规则,您可以使用regex在udf中编写验证规则。
2-写入自定义serde或inputformat以在配置单元表中加载时验证数据。
3-尝试mapreduce作业直接进行数据验证。
如果源系统是rdbms,那么可以使用sqoop将数据导入hdfs或直接导入hive。
sqoop具有内置功能,可以使用行计数和复制的行数验证导入/导出。sqoop导入--连接jdbc:mysql://localhost/imdb—表电影—验证
您还可以通过扩展interfaces-1-validationthreshold来创建自己的验证方案。2-validationfailurehandler。3-验证程序