在_spark_metadata

时间:2018-06-09 14:15:20

标签: apache-spark pyspark spark-streaming

我正在尝试从特定文件夹中读取CSV文件,并将相同内容写入本地PC上不同位置的其他CSV文件以供学习。我可以读取文件并在控制台上显示内容。但是,如果我想将它写入指定输出目录中的另一个CSV文件,我会得到一个名为" _spark_metadata"的文件夹。里面什么也没有。

我在这里逐步粘贴整个代码:

创建Spark会话:

spark = SparkSession \
.builder \
.appName('csv01') \
.master('local[*]') \
.getOrCreate();

spark.conf.set("spark.sql.streaming.checkpointLocation", <String path to checkpoint location directory> )
userSchema = StructType().add("name", "string").add("age", "integer")

从CSV文件中读取

df = spark \
.readStream \
.schema(userSchema) \
.option("sep",",") \
.csv(<String path to local input directory containing CSV file>)

写入CSV文件

df.writeStream \
.format("csv") \
.option("path", <String path to local output directory containing CSV file>) \
.start()

In&#34;包含CSV文件的本地输出目录的字符串路径&#34;我只获得一个不包含CSV文件的文件夹_spark_metadata。

对此有任何帮助表示高度赞赏

1 个答案:

答案 0 :(得分:1)

您不使用readStream来读取静态数据。您可以使用它从添加到文件夹的目录中读取。

您只需要spark.read.csv