分享

遇到个问题,一个是关于sqoop抽数的,另一个入题2,请大神们指点一下

叫我胖哥 发表于 2016-12-6 09:34:38 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 7929
1、写脚本定时任务,固定时间用sqoop抽取某个表的数据到HDFS中,如何知道抽取的数据量。
2,如何快速查看100张表中的5张表。
感谢各位大神指点了。

已有(2)人评论

跳转到指定楼层
叫我胖哥 发表于 2016-12-6 09:35:29
第二题是:如何快速查看100张表中的50张,不是5张。非常抱歉。
回复

使用道具 举报

einhep 发表于 2016-12-6 10:52:19


###################################

作用:每小时定时执行以下代码,能将上一个小时中的数据进行取出,用以进行数据分析和挖掘
把以下代码中需要修改的部分修改一下后创建一个sh文件,将修改该好的数据放进去就行了,这个是针对oracle的sqoop语句

红色字体为我后加的注释,要注意去掉

橙色部分为需要修改的部分,sql部分需要针对自己业务进行设计,注意最终输出地址:默认为hdfs地址,也可导进hive中,这个请自行百度

#!/bin/sh
#comments
当前小时(注意等号后面的字符两端有反单引号(即在英文输入状态下esc下面的按键按出来的),因为字体的原因本站显示不出来)
nowHour=`date “+%Y-%m-%d %H:00:00″`
上一小时(注意等号后面的字符两端有反单引号(即在英文输入状态下esc下面的按键按出来的),因为字体的原因本站显示不出来)
lastHour=`date -d -1hour “+%Y-%m-%d %H:00:00″`
sqoop要执行的sql语句
sql=”SELECT  id,TO_CHAR(logdate,’yyyy-mm-dd hh24:mi:ss’) FROM testT WHERE logdate >= TO_date(‘”$lastHour”‘,’yyyy-mm-dd hh24:mi:ss’) and logdate < TO_date(‘”$nowHour”‘,’yyyy-mm-dd hh24:mi:ss’) and  \$CONDITIONS”

sqoop命令
sqoop import –connect jdbc:oracle:thin:@192.168.0.xx:1521:orcl –usernameusername–password pwd\
–query “\”$sql\”” \
–m 1 –append –target-dir /hdfs目录

###################################
以上面为例,想知道抽取量,可以在sql语句中加入count进行统计。也就是下面语句中
sql=”SELECT  id,TO_CHAR(logdate,’yyyy-mm-dd hh24:mi:ss’) FROM testT WHERE logdate >= TO_date(‘”$lastHour”‘,’yyyy-mm-dd hh24:mi:ss’) and logdate < TO_date(‘”$nowHour”‘,’yyyy-mm-dd hh24:mi:ss’) and  \$CONDITIONS”
第二题:
100张表中查看50张表是查看50张表的名字??
还是查看什么,如果是只是显示50张表,
数据库应该是mysql的吧
select table_name from  tables   limi 50;



回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条