利用sqoop导入orcale数据到hdfs

浏览: 3440

Transwarp Inceptor可以提高大数据查询分析速度。从下往上分三层架构,最底层是分布式缓存( Transwarp Holodesk),可建在内存或者SSD上;中间层是ApacheSpark计算引擎层;最上层包括SQL99 PL/SQL编译器、统计算法库和机器学习算法库,提供完整的R语言访问接口。

 利用sqoop把oracle中数据倒入到hdfs具体步骤:

 1.hdfs中创建存放需要导入数据的目录,例如创建一个名为ceshi 的目录文件夹:sudo–u hdfs hdfs dfs –mkdir /ceshi sudo –u hdfs 表示以hdfs 用户的身份执行操作,root用户执行hdfsdfs –mkdir /ceshi操作会出现权限不足问题)

2.创建ceshi文件夹后 执行hdfsdfs –ls / 来查看是否创建成功

3.修改测试文件夹权限:sudo–u hdfs hdfs dfs –chmod –R 777 /ceshi(在执行导库语句时会出现权限不足的情况,即使是root用户也会出现权限不足问题,要用HDFS用户去做权限修改)

4.执行导库语句, 例如倒入10库中违法数据(vio_surveil_bak)

sqoop import --connectjdbc:oracle:thin:@//<ip>:<port>/<sid> --username <username>  --password <password> --query "select substr(dzzb,1,6) as yfbm,dzzb asrqbm,zsxxdz,jtfs,wfxw,1 as byl from table1  where dzzb>0 and \$CONDITIONS"--target-dir /ceshi/tt --outdir /tmp/tt -m 1

sqoop import--connect jdbc:oracle:thin:@//<ip>:<port>/<sid> –username <username>  --password <password>表示利用sqoop链接数据库,需要根据实际情况修改 数据库ip、端口、SID、用户名、密码)(--query" select substr(dzzb,1,6) as yfbm,dzzb as rqbm,zsxxdz,jtfs,wfxw,1 as bylfrom table1  where dzzb>0 and\$CONDITIONS "表示选择从oracle表中拿出那些列的数据,以及做数据清洗。)

5.执行成功后进入文件夹下查看导入是否正确:

hdfs dfs –ls/ceshi/tt/

hdfsdfs –tail –f /ceshi/tt/part-m-00000    

--target-dir /ceshi/tt表示在hdfs内的数据存储路径,最底层的vio目录是不能存在的,上层目录ceshi是需要提前建好或已经存在的目录)

--outdir /tmp/tt-m 1 表示临时输出目录,sqoop语句执行结束后会被删除)

推荐 0
本文由 华青莲 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册