0

我正在尝试通过 java 代码在 Linux 终端中执行以下 spark-shell 命令。

echo spark.sparkContext.parallelize\(1 to 3,3\).map\(x => \
(x,\"city_\"+x\)\).toDF\(\"num",\"city\"\).write.partitionBy\(\"num\"\).mode\
(SaveMode.Overwrite\).parquet\(\"/tmp/abinash\"\) | /opt/ab/cd/de/spark-shell

但是即使文件存在,/tmp/abinash 也会出现“没有这样的文件或目录”错误

我尝试了很多方法来解决这个问题。但没有获得任何成功。我认为转义字符存在问题。

谁能帮我解决我在这里做错的事情。

4

1 回答 1

1

尝试这个。

> echo "spark.sparkContext.parallelize(1 to 3,3).map(x => (x,\"city_\"+x)).toDF(\"num\",\"city\").write.partitionBy(\"num\").mode(SaveMode.Overwrite).parquet(\"/tmp/abinash\")"
spark.sparkContext.parallelize(1 to 3,3).map(x => (x,"city_"+x)).toDF("num","city").write.partitionBy("num").mode(SaveMode.Overwrite).parquet("/tmp/abinash")
于 2018-10-08T15:40:39.677 回答