spark magic - 输入sql context作为字符串

时间:2018-05-08 10:29:26

标签: python-3.x apache-spark pyspark jupyter-notebook

连接到livy的火花在Jupyter工作得很好, 和以下火花魔法一样:

%%spark -c sql
select * from some_table

现在我如何使用字符串变量来查询表? 以下不起作用:

query = 'select * from some_table'

下一个单元格:

%%spark -c sql
query

以下工作也不起作用:

%%spark -c sql
'select * from some_table'

有什么想法吗?是否可以将字符串变量的内容“回显”到单元格中?

1 个答案:

答案 0 :(得分:1)

好像我找到了解决方案。 有一个函数可以将字符串转换为单元魔术命令:

%%local

from IPython import get_ipython
ipython = get_ipython()

line = '-c sql -o df'
query = 'select * from some_table'
ipython.run_cell_magic(magic_name='spark', line=line, cell=query)

此后,查询位于pandas dataframe df。