我使用Spark 2.2.0。
我使用Spark来处理来自S3的数据集。它工作正常,直到我决定使用通配符来从文件夹test
的子文件夹中读取数据。
val path = "s3://data/test"
val spark = SparkSession
.builder()
.appName("Test")
.config("spark.sql.warehouse.dir", path)
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
val myData = spark.read.parquet(path + "/*/")
我收到以下错误:
17/11/20 18:54:21错误ApplicationMaster:用户类抛出异常: org.apache.spark.sql.AnalysisException:路径不存在: HDFS://ip-111-112-11-65.eu-west-1.compute.internal:8020 /用户/ HDFS / S3 /数据/检验/ 20171120 / *;
我使用以下命令执行上述代码:
spark-submit --deploy-mode cluster --driver-memory 10g
我不明白为什么Spark会尝试从HDFS读取而不是从提供的路径读取。同一段代码可以与另一条路径一起使用,例如s3://data/test2/mytest.parquet
。