【问题标题】:how to Intialize the spark shell with a specific user to save data to hdfs by apache spark如何使用特定用户初始化 spark shell 以通过 apache spark 将数据保存到 hdfs
【发布时间】:2020-08-18 07:49:49
【问题描述】:
  • 我正在使用 ubuntu
  • 我使用 intellij 使用 spark 依赖项
  • 找不到命令“spark”,但可以安装:..(当我在 shell 中输入 spark 时)
  • 我有两个用户 amine 和 hadoop_amine(设置了 hadoop hdfs)

当我尝试将数据帧保存到 HDFS (spark scala) 时:

procesed.write.format("json").save("hdfs://localhost:54310/mydata/enedis/POC/processed.json")

我收到了这个错误

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=root, access=WRITE, inode="/mydata/enedis/POC":hadoop_amine:supergroup:drwxr-xr-x

【问题讨论】:

    标签: apache-spark pyspark apache-spark-sql spark-streaming


    【解决方案1】:

    尝试更改HDFS 目录的权限或简单地更改您的spark 用户! 要更改目录权限,您可以像这样使用hdfs 命令行

    hdfs dfs -chmod  ...
    

    spark-submit 中,您可以使用proxy-user 选项 最后,您可以像以下命令一样使用正确的用户运行spark-submitspark-shell

    sudo -u hadoop_amine spark-submit ...
    

    【讨论】:

      猜你喜欢
      • 2017-06-16
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 2016-05-01
      • 2016-06-24
      • 1970-01-01
      相关资源
      最近更新 更多