使用 Glue 目录的 EMR PySpark |无法从空字符串创建路径;

EMR PySpark using Glue Catalog | Can not create a Path from an empty string;

我正在尝试使用以下 spark sql 显示数据:

spark.sql('select id,name,last_modified_dt,created_ts from (select a.*, row_number() over (partition by id order by created_ts desc ,last_modified_dt desc) as rnk from ( select * from pratik_test_staging.temp1 s union all select id,name,last_modified_dt,created_ts from pratik_test_temp.temp1)a)b where rnk = 1').show()

它给我的输出为:

但是当我试图将它写回 pratik_test_staging.temp1 时,它向我抛出错误:

spark.sql('select id,name,last_modified_dt,created_ts from (select a.*, row_number() over (partition by id order by created_ts desc ,last_modified_dt desc) as rnk from ( select * from pratik_test_staging.temp1 s union all select id,name,last_modified_dt,created_ts from pratik_test_temp.temp1)a)b where rnk = 1').write.mode('overwrite').insertInto('pratik_test_staging.temp1',overwrite=True)

错误:

注意: 1. 我在 ORC 和 Parquet 上都试过了,两种文件格式都出现了同样的错误。 2. 我是 运行 Spark(EMR) 使用 Glue 目录。数据存储在 S3

您需要指定路径。你可以试试这个。

resultDf.write
      .option("path",outputPath)
      .mode(SaveMode.Overwrite)
      .saveAsTable(outputTableName)