RDK*_*RDK 4 python hadoop hive
我试图通过将Python脚本作为映射器来测试Hive TRANSFORM.我的蜂巢脚本是:
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;
Run Code Online (Sandbox Code Playgroud)
我的Python映射器脚本只是试图回显输入:
#!/usr/local/bin/python
import sys
for line in sys.stdin:
print line
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下组合运行它:
删除add file ...hive脚本并mapper.py在select ...语句中提供完整路径
保持add file ...映射器的完整路径:/path/to/mapper.py
保持add file ...映射器的相对路径:./mapper.py
尝试使用AS子句(using 'mapper.py' as line)选择映射器输出
到目前为止,上述所有尝试都导致Hive报告它无法初始化我的自定义脚本:
FAILED: Execution Error, return code 20000 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Unable to initialize custom script.
Run Code Online (Sandbox Code Playgroud)
我无法理解这种"初始化"的本质.是Hive无法做到的
#!shebang)我正在遵循Hive教程中的"自定义地图/缩小脚本" .
通过修改我的select...陈述来解决它
add file /full/path/to/mapper.py;
select transform(s.year, s.month, s.day, s.hour)
using ' python mapper.py' --<--- This line changed
from my_table s limit 10;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3577 次 |
| 最近记录: |