как инициализировать оболочку spark с указанным пользователем c для сохранения данных в hdfs с помощью apache spark - PullRequest
0 голосов
/ 04 мая 2020
  • я использую ubuntu
  • я использую зависимость искры, используя intellij
  • Команда 'искра' не найдена, но может быть установлена ​​с помощью: .. (когда я ввожу искру в оболочку)
  • у меня два пользователя amine и hadoop_amine (где установлено oop 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

1 Ответ

0 голосов

Попробуйте изменить права доступа к каталогу HDFS или просто смените своего искрового пользователя! Для изменения прав доступа к каталогу вы можете использовать hdfs командную строку, например:

hdfs dfs -chmod  ...

В spark-submit вы можете использовать параметр proxy-user И, наконец, вы можете запустить spark-submit или spark-shell с соответствующим пользователем, как эта команда:

sudo -u hadoop_amine spark-submit ...
...