如何通过sqoop-import更改临时使用的目录?

问题描述 投票:0回答:1

我一直在使用这样的sqoop-import命令:

sqoop import --connect jdbc:oracle:thin:@${machine}:${port}/${schema} --username ${user} --password ${pw} --table "${table}" --columns "${cols}" --where "${machine}" --m 1 --fields-terminated-by ';' --target-dir ${dir} --hive-table "${hive_table}"

直到现在,当我收到此消息时,它一直可以正常工作:

Picked up _JAVA_OPTIONS: -Djava.io.tmpdir=/data/tmp
Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
   64215
Try using the -Djava.io.tmpdir= option to select an alternate temp location.

确实是我的/ tmp已满:

/dev/mapper/system-lv_tmp 5136000 4875796 0 100% /tmp

我无法删除/ tmp中不是我的文件,因此我无法在那里释放足够的空间。

我曾尝试将_JAVA_OPTIONS更改为另一个目录,但仍然收到相同的错误。

¿有什么方法可以使命令对临时文件使用不同的目录?

hive hdfs sqoop tmp
1个回答
0
投票

sqoop有其自己的选项来提供一个临时目录:

--temporary-rootdir (path)

为导入期间创建的文件设置临时目录的位置(覆盖默认路径“ _sqoop”)该选项仅适用于带有“ import”或“ --append”的“ --incremental lastmodified”命令此选项与使用-Dsqoop.test.import.rootDir=<path>

具有相同的效果
© www.soinside.com 2019 - 2024. All rights reserved.