一直做的数据分析均是基于数据库数据、日志进行分析,开发业务模型,日志深度监控系统。也一直想抓取到用户的感知,幸好找大数据平台的人要到了我们网站嵌码采集的相关数据,准备对用户行为从早期的access日志外,另一层面做下分析。
用到时间函数时存在很大于oracle不同,用from_unixtime(unix_timestamp(),'HH:mm')搞定时间,网上查询页面:http://blog.csdn.net/ningyuanhuo/article/details/21481307,后期在遇到在来细查时间函数。
其他函数想了下应该和sql类似,也查了下文档,hive常用函数http://blackproof.iteye.com/blog/2108353,主要用到substr,length。
Hive的工作模式是提交一个任务,等到任务结束时被通知,而不是实时查询。即使查了个很小的数也需要很久,用惯了数据库,查这个多少有些不适应。不过和sql语法基本类似,学习成本较低。细节还是见文档hive深入浅出http://blog.csdn.net/hguisu/article/details/18986759。
利用sqoop将hive/hdfs数据导入到oracle中
使用的是sqoop1,其次我们需要ojdbc6.jar 这个jar 包下载地址如下:
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
将解压的包 复制到sqoop安装目录下的lib 目录中
执行我们的导入命令即可
sqoop export --table FDC_JPLP --connect jdbc:oracle:thin:@localhost:port:test1 --username test --password test --export-dir /user/hive/warehouse/data_w.db/seq_fdc_jplp --columns goal_ocityid,goal_issueid,compete_issueid,ncompete_rank --input-fields-terminated-by '\001' --input-lines-terminated-by '\n'
注意要指定 --columns 参数 否则会报错 找不到 columns
用法: --columns
查询数据是否导入成功
sqoop eval --connect jdbc:oracle:thin:@localhost:port:test1 --query "select * from FDC_JPLP" --username fccsreport --password fccsoracle10g_report