分享

mysql中的数据进行清洗,然后导入HDFS(或HIVE)

Riordon 发表于 2015-4-21 11:46:07 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 43652
前提:
mysql表中存储了4个网站(通过url鉴定)的用户访问数据,融合在一起,没有分离
需求:
清洗,提取其中一个网站的访问数据到HDFS(HIVE)中

疑问:
mysql--->HDFS(HIVE) 有工具sqoop,但它是将整个表中的数据导入HDFS,没有过滤的功能

现在若要实现,有什么好的方案呢?

谢谢了...

已有(3)人评论

跳转到指定楼层
arsenduan 发表于 2015-4-21 11:57:52
sqoop有条件过滤,比如下面:

sqoop import --connect jdbc:mysql://192.168.81.176/hivemeta2db --username root -password passwd --table sds --where "sd_id > 100"


sqoop import --connect jdbc:mysql://192.168.81.176/hivemeta2db --username root -password passwd --table sds --where "网站类型 =叉叉"
回复

使用道具 举报

Riordon 发表于 2015-4-21 13:39:54
arsenduan 发表于 2015-4-21 11:57
sqoop有条件过滤,比如下面:

sqoop import --connect jdbc:mysql://192.168.81.176/hivemeta2db --user ...

恩,不错,如果网站的id是包含在url中的呢,怎么从一个字段中提取一部分内容作比较呢?
回复

使用道具 举报

arsenduan 发表于 2015-4-21 13:45:43
Riordon 发表于 2015-4-21 13:39
恩,不错,如果网站的id是包含在url中的呢,怎么从一个字段中提取一部分内容作比较呢?

这个不知道是否有模糊查询,可以试试like。
楼主的表设计有些问题,这些类型应该是基本的。一个个过滤,性能严重下降
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条