【问题标题】:Is it possible to transform specific columns using Hive Streaming?是否可以使用 Hive Streaming 转换特定列?
【发布时间】:2013-08-06 15:41:36
【问题描述】:

下面的语法有效:

SELECT TRANSFORM(col1,col2,col3) USING 'python script.py' AS col_1,col_2,col_3 FROM...

python 脚本实际上只对 col3 进行了转换,而 col1、col2 只是通过了 python 脚本,没有任何变化。我想重新使用这个 python 脚本,这样我就可以用任意列替换 col1、col2,只要 col1 通过。但是以下两个代码不起作用:

SELECT col1, col2, TRANSFORM(col3) USING 'python script.py' AS col_1 FROM... 

SELECT TRANSFORM(col3) USING 'python script.py' AS col_3, col1, col2 FROM... 

如果有办法只将选定列的子集传递给流式处理脚本,而使其他选定列远离流式处理过程?

提前致谢。

【问题讨论】:

    标签: python streaming hive


    【解决方案1】:

    这不起作用,因为转换可以返回多行。想象一下,如果某些 col3 的 script.py 返回 2 行(col31 和 col32)。语法是什么意思?返回 col1, col2, col31 和 col1, col2, col32?

    【讨论】:

    • 如果脚本只返回一列怎么办?我们不能只在一列上使用它吗?
    猜你喜欢
    • 2017-02-22
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    相关资源
    最近更新 更多