所以,当从pyspark运行时我会输入(没有指定任何上下文):
df_openings_latest = sqlContext.sql('select * from experian_int_openings_latest_orc')
Run Code Online (Sandbox Code Playgroud)
..它工作正常.
但是,当我运行我的脚本时spark-submit,就像
spark-submit script.py 我把以下内容放入
from pyspark.sql import SQLContext
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName('inc_dd_openings')
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
df_openings_latest = sqlContext.sql('select * from experian_int_openings_latest_orc')
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误
pyspark.sql.utils.AnalysisException:你找不到:experian_int_openings_latest_orc;'
所以它没有看到我的表.
我究竟做错了什么?请帮忙
PS Spark版本在Amazon EMR上运行1.6
关于spark-submit的文档说明如下:
Spark的bin目录中的spark-submit脚本用于在集群上启动应用程序.
关于pyspark,它说:
您还可以使用bin/pyspark来启动交互式Python shell.
这个问题可能听起来很愚蠢,但是当我运行命令时pyspark它们也运行在"集群"上,对吗?它们不仅仅在主节点上运行,对吧?