我们的项目中要求数据从Source加载到HDFS目标目录。
我们必须验证数据转换(从源到目标)的as/ transformation规则。
它们为我们提供了源表(单个平面文件/表)和目标表的平面文件。
我们必须通过Hive进行数据验证。
我们怎么能做到这一点,其中是否有任何自动化的范围。
我是这个Hadoop技术的初学者。请帮帮我
发布于 2014-05-22 11:32:05
尝试以下步骤来验证数据-
1-编写自定义UDF并对行应用验证规则,您可以使用REGEX在UDF中编写验证规则。
2-编写自定义的Serde或InputFOrmat,以便在加载Hive表时验证数据。
3-尝试MapReduction作业直接进行数据验证。
如果您的源系统是RDBMS,那么可以使用Sqoop将数据导入HDFS或直接导入Hive。
Sqoop具有内置功能,它使用行计数和复制的行数验证导入/导出。sqoop导入--连接jdbc:mysql://localhost/imdb -表电影--验证
您还可以通过扩展接口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**https://stackoverflow.com/questions/23797945
复制相似问题