我一直在使用这样的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更改为另一个目录,但仍然收到相同的错误。
¿有什么方法可以使命令对临时文件使用不同的目录?
sqoop
有其自己的选项来提供一个临时目录:
--temporary-rootdir (path)
为导入期间创建的文件设置临时目录的位置(覆盖默认路径“ _sqoop”)该选项仅适用于带有“ import
”或“ --append
”的“ --incremental lastmodified
”命令此选项与使用-Dsqoop.test.import.rootDir=<path>