我需要以下代码段的帮助
def query(self, inputs=[], start=None, end=None):
fields = ["{0}={1}".format(c, self.getname(c)) for c in inputs]
dframes = []
start_time = time.time()
for file in self.mal_files:
if ((start is not None and start <= file.date) or start is None) and ((end is not None and file.date <= end) or end is None):
ok, df = self.get_data(file, fields)
if ok:
if len(dframes) == 0:
self.res.query_date_start = file.date
self.res.query_date_end = file.date
self.res.number_mal_files_read += 1
dframes.append(df)
if len(dframes) > 0:
raw_data_pandas = pd.DataFrame(pd.concat(dframes))
sc = SparkContext()
sql = SQLContext(sc)
raw_data_spark_sql = sql.createDataFrame(pd.concat(dframes))
此代码对不同的文件进行查询,到目前为止,它可以正常工作。将不同文件连接到pandas数据框也可以工作。但是我需要连接的熊猫数据框作为spark sql数据框,这就是问题所在。我收到以下错误消息: py4j.Py4JException:方法 getstate ([])不存在 可能与火花上下文(sc)的定义有关。
我使用pyspark并尝试在函数内部和外部定义spark上下文,但没有成功。我不确定,所以谢谢您的帮助!