【发布时间】:2019-07-09 05:57:30
【问题描述】:
我知道我可以使用
%pyspark
df = sqlContext.sql('select * from train_table')
我可以使用df.registerTempTable('xxx') 使df 在%sql 中可访问。
但有时我想使用%sql 来绘制情节。计算可能很广泛:
%sql
select C.name, count(C.name) from orderitems as A
left join clientpagemodules as C on C.code = A.from_module
left join orders as B on A.ref_id = B.id
left join products as P on P.id = A.product_id
where B.time_create > (unix_timestamp(NOW()) - 3600*24*30) *1000 group by C.name
如果我决定写一些代码来清理结果,我必须将上面的 sql 移动到 df = sqlContext.sql(sql) 中,再次计算。
我想知道有没有办法在 %pyspark 中访问 %sql 结果?
【问题讨论】:
-
%sql和%pyspark是什么?您使用的是数据块还是其他笔记本工具? -
@Steven 对不起,我忘了添加 zeppelin 标签,现在添加。
标签: apache-spark pyspark apache-spark-sql apache-zeppelin