我试图通过将python脚本作为Map器输入来测试hive转换。我的Hive脚本是:
add file /full/path/to/mapper.py;
set mapred.job.queue.name=queue_name;
use my_database;
select transform(s.year, s.month, s.day, s.hour)
using 'mapper.py'
from my_table s limit 10;
我的pythonMap器脚本只是想回显输入:
# !/usr/local/bin/python
import sys
for line in sys.stdin:
print line
我已尝试使用以下组合运行此程序:
卸下 add file ...
在配置单元脚本中,并提供 mapper.py
在 select ...
声明
保持 add file ...
以及mapper的完整路径: /path/to/mapper.py
保持 add file ...
以及Map器的相对路径: ./mapper.py
尝试使用选择Map器输出 AS
条款( using 'mapper.py' as line
)
到目前为止,上述所有尝试都导致配置单元报告无法初始化我的自定义脚本:
FAILED: Execution Error, return code 20000 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Unable to initialize custom script.
我不能理解这个“初始化”的本质。hive不能吗
找到我的脚本(即路径问题)?
找到python可执行文件(即 #!
(谢邦)
我正在遵循配置单元教程中的“自定义Map/减少脚本”。
1条答案
按热度按时间cnwbcb6i1#
通过修改我的
select...
声明为参考岗位