0

我正在尝试在 pyspark 数据框(2.0.0)上定义一个 sql 视图,并出现“找不到表或视图”之类的错误。我在做什么: 1. 创建一个空数据框 2. 将来自不同位置的数据加载到临时数据框 3. 将临时数据框附加到主数据框(空的) 4. 在数据框上定义一个 sql 视图(这是之前为空)。

spark = SparkSession.builder.config(conf=SparkConf()).appName("mydailyjob").getOrCreate()
sc = spark.sparkContext

schema = StructType([StructField('vdna_id', StringType(), True),
StructField('miq_id', LongType(), True),
StructField('tags', IntegerType(), True),
StructField('dateserial', DateType(), True),
StructField('date_time', TimestampType(), True),
StructField('survey_id', StringType(), True),
StructField('ip', StringType(), True)])
brandsurvey_feed = sqlContext.createDataFrame(sc.emptyRDD(), schema)

# load brandsurvey feed data for each date in date_list
for loc in all_loc:
    # load file from different location
    bs_tmp = spark.read.csv(loc, schema=schema, sep='\t', header=True)
    brandsurvey_feed = brandsurvey_feed.union(bs_tmp)

brandsurvey_feed.createOrReplaceTempView("brandsurvey_feed")
print(spark.sql("select * from brandsurvey_feed").show())
4

1 回答 1

0

各位,我想我找到了原因。如果我们在具有零记录的数据帧上创建一个 sql 视图,然后访问该表,您将得到一个错误“表或视图不存在”。我建议在数据框上定义任何不为空的 sql 视图之前进行检查

于 2016-12-22T06:05:51.723 回答