管道的应用

工作中遇到需要将hdfs上的文件导入数据库的问题
之前的解决办法是:将文件getmerge到本地目录,然后再用sqlr工具导入oracle
如果oracle和hadoop分属不同的机器,这样就需要一次本地文件写,一次远程拷贝,一次文件读的时间

管道也是一种文件

但是管道很好地用了内存,因此可以节约一次文件读写的时间

方法:
1 mknod xxx p:建立xxx管道文件
2 hadoop dfs -cat /user/a1 > xxx
  hadoop dfs -cat /user/a2 > xxx
  hadoop dfs -cat /user/a3 > xxx
3 sqlr xxx ...

这样,imp的速度就仅仅取决于带宽和sqlr本身的效率了

你可能感兴趣的:(oracle,hadoop,工作)