Apache spark 为什么_spark_元数据将所有拼花地板分区文件都放在0中,但集群有2个工作进程?
我有一个小火花簇,有一个主火花簇和两个工作火花簇。我有一个卡夫卡流应用程序,它从卡夫卡流数据,并以拼花格式和附加模式写入目录 到目前为止,我能够读取卡夫卡流,并使用下面的关键行将其写入拼花地板文件Apache spark 为什么_spark_元数据将所有拼花地板分区文件都放在0中,但集群有2个工作进程?,apache-spark,apache-kafka,spark-streaming,parquet,Apache Spark,Apache Kafka,Spark Streaming,Parquet,我有一个小火花簇,有一个主火花簇和两个工作火花簇。我有一个卡夫卡流应用程序,它从卡夫卡流数据,并以拼花格式和附加模式写入目录 到目前为止,我能够读取卡夫卡流,并使用下面的关键行将其写入拼花地板文件 val streamingQuery = mydf.writeStream.format("parquet").option("path", "/root/Desktop/sampleDir/myParquet").outputMode(OutputMode.Append).option("check
val streamingQuery = mydf.writeStream.format("parquet").option("path", "/root/Desktop/sampleDir/myParquet").outputMode(OutputMode.Append).option("checkpointLocation", "/root/Desktop/sampleDir/myCheckPoint").start()
两个工人我都登记了。创建了3-4个snappy拼花文件,文件名前缀为part-00006-XXX.snappy.parquet
但当我尝试使用以下命令读取此拼花地板文件时:
val dfP = sqlContext.read.parquet("/root/Desktop/sampleDir/myParquet")
它显示了一些拼花地板分割文件的“未找到文件”异常。奇怪的是,这些文件已经存在于其中一个工作节点中
当在日志中进一步检查时,发现spark正在尝试仅从一个工作节点获取所有拼花文件,并且由于并非所有拼花文件都存在于一个工作节点中,因此正在命中,但在提到的拼花路径中未找到这些文件
我是否在流式查询或读取数据时遗漏了一些关键步骤
注意:我没有HADOOP基础设施。我只想使用文件系统。您需要一个共享文件系统 Spark假设所有节点、驱动程序和工作程序都可以看到相同的文件系统。 如果您使用的是基本文件系统,那么每个节点都会看到自己的文件系统,这与其他节点的文件系统不同 HDFS是获取公共共享文件系统的一种方法,另一种方法是使用公共NFS装载,即将同一远程文件系统从所有节点装载到同一路径。还存在其他共享文件系统