运行PythonUDF的配置单元twitter表在关闭运算符时出现配置单元运行时错误

运行PythonUDF的配置单元twitter表在关闭运算符时出现配置单元运行时错误,python,twitter,hive,user-defined-functions,Python,Twitter,Hive,User Defined Functions,我正在尝试在hive中运行Python udf,以便对flume捕获的twitter数据进行情绪分析 我的twitter表代码: CREATE EXTERNAL TABLE tweets ( id bigint, created_at string, source STRING, favorited BOOLEAN, retweeted_status STRUCT< text:STRING, user:STRUCT<scr

我正在尝试在hive中运行Python udf,以便对flume捕获的twitter数据进行情绪分析

我的twitter表代码:

        CREATE EXTERNAL TABLE tweets (
  id bigint, 
  created_at string,
  source STRING,
   favorited BOOLEAN,
   retweeted_status STRUCT<
     text:STRING,
     user:STRUCT<screen_name:STRING,name:STRING>,
     retweet_count:INT>,
   entities STRUCT<
     urls:ARRAY<STRUCT<expanded_url:STRING>>,
     user_mentions:ARRAY<STRUCT<screen_name:STRING,name:STRING>>,
     hashtags:ARRAY<STRUCT<text:STRING>>>,
  lang string,
  retweet_count int,
  text string,
  user STRUCT<
     screen_name:STRING,
     name:STRING,
     friends_count:INT,
     followers_count:INT,
     statuses_count:INT,
     verified:BOOLEAN,
     utc_offset:INT,
     time_zone:STRING>
       )
PARTITIONED BY (datehour int)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION  'hdfs://192.168.0.73:8020/user/flume/tweets'
通过此查询,我在关闭运算符时出错

如果我在python UDF中仅使用一个变量,则如果我执行以下操作,查询将成功运行:

text = line.replace('\n',' ')
它可能来自拆分('\t')中的SerDe吗


有人能帮忙吗?在过去的10天里,我对这个问题感到厌烦……

我仍然在解决这个问题。。。仅当我使用文本列查询2个或更多列时,查询才会崩溃。如果我不查询文本列,或者只查询它,它会工作。。。请问你有什么建议吗?非常感谢。我仍然在这个问题上。。。仅当我使用文本列查询2个或更多列时,查询才会崩溃。如果我不查询文本列,或者只查询它,它会工作。。。请问你有什么建议吗?非常感谢。
        ADD JAR /tmp/json-serde-1.3.9-SNAPSHOT-jar-with-dependencies.jar;
ADD FILE /tmp/my_py_udf.py;

SELECT
TRANSFORM (lang, text)
USING 'python my_py_udf.py'
AS  (lang, text, sentiment, word_count)
FROM tweets
text = line.replace('\n',' ')