无法使用终端

时间:2018-09-09 04:20:52

标签: python hive hdfs user-defined-functions

我正在尝试从本地“下载”文件夹中将Python文件(用于UDF)上传到HIVE,但是没有成功。我使用了命令:

scp -P 2222 ~/Downloads/geohash-udf.py root@localhost:/root/;

但是,我收到以下错误消息:

enter image description here

我还尝试通过运行以下命令直接从本地目录添加文件:

hive> add file /Users/Shaolun/Downloads/geohash-udf.py;

但是我得到了这个错误:

Query returned non-zero code: 1, cause: /Users/Shaolun/Downloads/geohash-udf.py does not exist.

我还尝试过先将文件放入HDFS,然后使用以下命令从HDFS获取文件:

hive> add file hdfs:///user/root/geohash-udf.py;

该命令按预期工作。但是我不希望这样,因为我希望能够让HIVE从本地Windows计算机而不是HDFS抓取Python文件。

我的Python文件的确切本地路径是'C:/Users/Shaolun/Downloads/geohash-udf.py',我的操作系统是Windows10。我对为什么无法上传Python文件感到困惑进入蜂巢。任何帮助/建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

scp是UNIX命令,而不是hive命令。

请从您的 unix终端运行相同的命令,它将起作用。

对于第二个问题,您无法从配置单元终端访问Windows文件,而只能访问hdfs中的文件。

您可以从UNIX主机运行以下命令。

 hdfs dfs -put <filename> <hdfs_path>