基本上,我是在按照本教程将pycharm设置为glue etl dev端点之后尝试解决这个问题的。
java.io.IOException: File '/var/aws/emr/userData.json' cannot be read
上面的文件属于hadoop。
[glue@ip-xx.xx.xx.xx ~]$ ls -la /var/aws/emr/
total 32
drwxr-xr-x 4 root root 4096 Mar 24 19:35 .
drwxr-xr-x 3 root root 4096 Feb 12 2019 ..
drwxr-xr-x 3 root root 4096 Feb 12 2019 bigtop-deploy
drwxr-xr-x 3 root root 4096 Mar 24 19:35 packages
-rw-r--r-- 1 root root 1713 Feb 12 2019 repoPublicKey.txt
-r--r----- 1 hadoop hadoop 10221 Mar 24 19:34 userData.json
我不能按照埃里克的建议更改它的权限。我使用我的公钥ssh到dev端点。
ssh -i ~/.ssh/<my_private_key> glue@ec2-xx.xx.xx.xx.eu-west-1.compute.amazonaws.com
无法将用户更改为hadoop sudo -su hadoop
因为它要求我 root
密码我不知道 [sudo] password for glue:
. 我也不能使用hadoop user(而不是root(glue))ssh到端点,它说权限被拒绝(publickey)。我的问题是。。。我究竟怎么知道dev endpoint的root用户(glue)密码?在创建dev端点时,从未要求我进行任何设置。或者如何通过hadoop用户ssh到dev端点?
1条答案
按热度按时间5anewei61#
所以这不是真正的问题。得到了aws团队的评论,他们说在通过pycharm在emr上运行spark脚本时,你会得到这些垃圾警告和错误,但这不应该影响脚本的实际任务。结果是我正在创建的Dataframe;
我做的时候没有给我看任何模式
persons_DyF.printSchema()
. 但是我很确定我定义了那个表模式。它只是输出root
以及persons_DyF.count() = 0
. 所以我想改用Pypark给了我以下结果;