Hive 中的 UDF python 和文件 Json

UDF python in Hive with File Json

我在 Ambari 中的 Hive 视图有两个问题。

1.问题 1:I 有脚本 :

<br>DELETE FILE /user/admin/hive/scripts/MKT_UDF/fb_audit_ads_creatives.py;
<br>ADD FILE /user/admin/hive/scripts/MKT_UDF/fb_audit_ads_creatives.py;
<br>SELECT TRANSFORM (line) USING 'python fb_audit_ads_creatives.py' as (ad_id) FROM stg_fb_audit_ads_creatives_json where date_time='2018-05-05';

我运行多次,运行顺利。但有时,我会收到错误消息:

你可以看到:这里是Log error
我认为这是由于配置(Hive、Ambari、...超时...v.v。)

问题2:我有文件json:

{
  "body": "https://www.facebook.com/groupkiemhieptinhduyen #truongsinhquyet #sapramat #tsq #game3d",
  "thumbnail_url": "https://external.xx.fbcdn.net/safe_image.php?d=AQDU01asRxdnCObW&w=64&h=64&url=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fv%2Ft15.0-10%",
  "campaign_id": "23842841688740666"
}

我使用上面的脚本 HQL 和 UDF Python:

for line in sys.stdin:
data = json.loads(line)
print (data)
print(data['thumbnail_url']


我运行没关系

但使用 UDF Python:

for line in sys.stdin:
data = json.loads(line)
print (data)
print(data['body']


我得到错误: Log error


你能帮帮我吗?

我建议尝试使用此 UDTF,而不是使用 python,它允许在 json columns within hive 上工作,然后可以操作大型 json 并在分布式和优化方式。