【发布时间】:2018-10-31 16:58:24
【问题描述】:
我目前正在探索如何通过 sqlContext 调用大的 hql 文件(包含 100 行 insert into select 语句)。
另外,hqls 文件是参数化的,所以在从 sqlContext 调用时,我也想传递参数。
浏览了大量博客和帖子,但没有找到任何答案。
我正在尝试的另一件事是将 rdd 的输出存储到变量中。
pyspark
max_date=sqlContext.sql("select max(rec_insert_date) from table")
现在想将 max_date 作为变量传递给下一个 rdd
incremetal_data=sqlConext.sql(s"select count(1) from table2 where rec_insert_date > $max_dat")
这不起作用,而且max_date 的值是=
u[row-('20018-05-19 00:00:00')]
现在还不清楚如何修剪这些多余的字符。
【问题讨论】:
-
您的
max_date是一个DataFrame,它是一个Dataset[Row],所以这显然不会像您希望的那样进行插值。您可以使用collect(),然后将其转换为正常值进行插入。
标签: apache-spark dataframe pyspark rdd