我理解livy会话语句像下面的示例一样使用代码语句
data = {
'code': textwrap.dedent("""
import random
NUM_SAMPLES = 100000
def sample(p):
x, y = random.random(), random.random()
return 1 if x*x + y*y < 1 else 0
count = sc.parallelize(xrange(0, NUM_SAMPLES)).map(sample).reduce(lambda a, b: a + b)
print "Pi is roughly %f" % (4.0 * count / NUM_SAMPLES)
""")
}
r = requests.post(statements_url, data=json.dumps(data), headers=headers)
但是有没有一种方法可以提供pyspark文件,可能是这样的:
data = {
'pySparkFile': file_name.py
}
我知道livy batch提供了这个功能,但我想要一个交互式会话,用户可以一个接一个地传递多个脚本,我们也可以调用其他脚本的变量,就像在交互式pySpark会话中一样
我不确定这是否回答了您的问题,但我成功地使用cURL在EMR上创建了一个Spark会话,如下所示:
我检查了
/mnt/var/log/livy/livy-livy-server.out
,发现这一行表示会话已成功创建:相关问题 更多 >
编程相关推荐