![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
亚存
一个逗比的码农
展开
-
HIVE迁移的点点滴滴(四)--HIVE数据导出及自定义分隔符
HIVE数据导出是比较简单的,直接用HIVE自带的命令即可:hive -e "select * from prs.prs_goods_b2b" > prs_goods_b2b从HIVE中导出表数据到本地文件中但是导出来的数据是用HIVE自带的分隔符。查了下貌似HIVE没有导出数据指定分割符的语句。看起来只能在linux里处理了 刚刚打开还以为是空格作为分隔符,所以直接用sed -i 's/ /,/原创 2014-05-23 11:09:08 · 1140 阅读 · 0 评论 -
sqoop jdk1.7不兼容问题
sqoop测试库上测试的很好,一切正常,切到正式库上运行报错: 查了下说是jdk兼容问题。测试库用的是jdk1.6,正式库是jdk1.7。用的是sqoop1.4.4,估计它还是在1.6的环境下编译的,jdk1.7的环境下它就不认了。看来还是用文件直接传输吧,工具真是不靠谱原创 2014-05-23 11:08:42 · 1202 阅读 · 0 评论 -
sqoop 导oracle数据到hive
这个和mysql比较类似,mysql会了,这个应该也容易。首先需要ojdbc6.jar这个jar包的支持。一般网上可以下到,在$ORACLE_HOME/jdbc/lib下也有我这里从oracle的这个目录下获取这个jar包,传到$SQOOP_HOME/lib目录下。oracle里建了测试用的t表,开始传送试试 出现了Attempted to generate class with no colum原创 2014-05-23 11:08:38 · 607 阅读 · 0 评论 -
sqoop 导mysql数据提示找不到jar文件
今天遇上个异常奇葩的问题,sqoop安装好之后,链接mysql没问题但一导入数据就提示如下: 提示说找不到jar文件。这个jar文件在sqoop目录下的lib文件夹下,可sqoop为何要跑到hdfs下去找?按提示,把lib目录下的jar文件全部导入hdfs下, 再运行,貌似一切正常 貌似还没找到哪个教程说把jar文件要预先传到hdfs上才能运行,hadoop也是自己传上去的。难道sqoop找不到原创 2014-05-23 11:08:33 · 1479 阅读 · 0 评论 -
HIVE迁移的点点滴滴--HIVE子查询(三)
HIVE不支持where条件里的子查询测试表: 这种子查询是不支持的。所以改写使用左联接的方式。 虽然实现了功能,不过很多场合都不怎么有效,使用HIVE肯定没有像oracle那么顺手,这也是没办法啊原创 2014-05-23 11:09:01 · 514 阅读 · 0 评论 -
HIVE迁移的点点滴滴(二)--rownum分组
今天编写的脚本里有个根据某个字段进行rownum分组的需求。在oracle这个用分析函数row_number() over,能很轻松搞定,hive里就麻烦了。模拟的表结构如下:user_id buy_num rownum 1 30 1 1 20 2 1原创 2014-05-23 11:08:59 · 1893 阅读 · 0 评论 -
HIVE迁移的点点滴滴(一)
今天处理了一点点推荐系统的迁移。现在用的推荐系统是在数据仓库里离线计算,生成计算结果推送给网站的。之前用的是基于商品的协同过滤算法,全sql实现,算法本身不是很复杂,但当时为了简单起见,用了游标处理了下。HIVE很不幸地不支持游标,如果要迁过去,要么自己写java程序,要么改写成不用游标的sql实现。显然后一种靠谱点原来核心算法实现语句select m_goods.goods_id原创 2014-05-23 11:08:57 · 1185 阅读 · 0 评论 -
sqoop 小问题集锦
今天进行sqoop正式环境测试,结果碰上一大堆问题1、测试库上运行好好的sqoop正式库上不可用。查了下,测试库上使用的是2.0以上版本,正式库上则还是1.0.4版本。当年上线的时候两个还是一样的,后来测试库做了升级用于测试2.0的新特性。(补充下,2.0真心快啊)去官网上下载,注意sqoop后面带的版本号。这边hadoop1.0.4就下载第三个sqoop包就可以了 tag:2.0属于新一代had原创 2014-05-23 11:08:45 · 545 阅读 · 0 评论 -
sqoop 导入mysql数据到hive
实验了下,效果貌似不错。sqoop import --connect jdbc:mysql://192.168.2.50/hive --username hive --password hive --table test --hive-import hive里可以看到数据了 当然只是小数据量玩玩。原创 2014-05-23 11:08:35 · 1019 阅读 · 0 评论 -
Hive 基本使用
原始日志在这,是俺们部门大神写的。帮他提一下PR值http://blog.csdn.net/lihm0_1/article/details/175799031、生成测试数据说hive只能识别文件中的单字符分割符,所以只能用不可见字符。好吧。下次搞个响喇叭字符,一打开会不会文件自己唱起歌来了?使用ASCII 06作为分隔符,在bash下用ctrl+v ctrl+f输入(先按ctrl+v,然后按ctr原创 2014-05-23 11:08:47 · 722 阅读 · 0 评论