Apache spark _spark_元数据目录的用途是什么
我正试图弄清楚Apache spark _spark_元数据目录的用途是什么,apache-spark,Apache Spark,我正试图弄清楚spark中的流媒体是如何工作的 我在/data/flight data/csv/目录中有一个文件。它有以下数据: DEST_COUNTRY_NAME ORIGIN_COUNTRY_NAME count United States Romania 15 United States Croatia 1 United States Ireland 344 Egypt
spark
中的流媒体是如何工作的
我在/data/flight data/csv/
目录中有一个文件。它有以下数据:
DEST_COUNTRY_NAME ORIGIN_COUNTRY_NAME count
United States Romania 15
United States Croatia 1
United States Ireland 344
Egypt United States 15
我想测试一下,如果我将文件作为流而不是批处理读取,将会发生什么。我首先使用read
scala> val dataDF = spark.read.option("inferSchema","true").option("header","true").csv("data/flight-data/csv/2015-summary.csv");
[Stage 0:> dataDF: org.apache.spark.sql.DataFrame = [DEST_COUNTRY_NAME: string, ORIGIN_COUNTRY_NAME: string ... 1 more field]
然后从它获取模式并创建一个新的Dataframe
scala> val staticSchema = dataDF.schema;
staticSchema: org.apache.spark.sql.types.StructType = StructType(StructField(DEST_COUNTRY_NAME,StringType,true), StructField(ORIGIN_COUNTRY_NAME,StringType,true), StructField(count,IntegerType,true))
scala> val dataStream = spark.readStream.schema(staticSchema).option("header","true").csv("data/flight-data/csv");
dataStream: org.apache.spark.sql.DataFrame = [DEST_COUNTRY_NAME: string, ORIGIN_COUNTRY_NAME: string ... 1 more field]
然后我开始流。检查点和输出(我想)的路径是“/home/manu/test”目录,它最初是空的
scala> dataStream.writeStream.option("checkpointLocation","home/manu/test").start("/home/manu/test");
res5: org.apache.spark.sql.streaming.StreamingQuery = org.apache.spark.sql.execution.streaming.StreamingQueryWrapper@5c7df5f1
start
的返回值是StreamingQuery
,我读到它是新数据到达时在后台连续执行的查询句柄。所有这些方法都是线程安全的。
我注意到现在目录中有一个目录\u spark\u metadata
,但没有其他内容
问题1-什么是\u spark\u metadata
目录?我注意到它是空的。它用于什么
问题2-我没有看到任何其他情况发生。是因为我没有在数据帧上运行任何查询(还是说该查询没有做任何有用的事情)