将csv从本地计算机加载到docker上运行的spark中

xvw2m8pv  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(304)

我正试图将一个csv文件从本地驱动器加载到spark中,但它抛出“org.apache.spark.sql.analysisexception:path does not exist:file:/somepath/export.csv”。
下面是我在scala中的代码:

val spark = SparkSession
  .builder()
  .appName("Test App")
  .master("spark://10.5.0.2:7077")
  .getOrCreate()

val schema = new StructType()
  .add("_c0",IntegerType,true)
  .add("carat",DoubleType,true)
  .add("cut",StringType,true)
  .add("color",StringType,true)
  .add("clarity",StringType,true)
  .add("depth",DoubleType,true)
  .add("table",DoubleType,true)
  .add("price",IntegerType,true)
  .add("x",DoubleType,true)
  .add("y",DoubleType,true)
  .add("z",DoubleType,true)

val df = spark.read.format("csv")
  .option("header", "true")
  .schema(schema)
  .load("file:///somepath/resources/diamond.csv")
spark.close()
mwg9r5ms

mwg9r5ms1#

您可以使用docker中的绑定挂载来完成此操作。例如,要使/users/johnsmith/somedata文件夹可用于/mnt/somedata文件夹下的spark,您可以如下启动图像:

docker run -v /Users/JohnSmith/somedata:/mnt/somedata myimage

相关问题