由于Hadoop用户`File'/var/aws/emr/userData.json'无法读入glue dev端点中。

问题描述 投票:0回答:1

基本上,在按照this教程将我的PyCharm设置为Glue ETL dev端点后,我试图解决this问题。

java.io.IOException: File '/var/aws/emr/userData.json' cannot be read

以上文件归hadoop所有。

[[email protected] ~]$ 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

而且我无法按照Eric here的建议更改其许可。我使用我的公钥进入我的dev端点。

ssh -i ~/.ssh/<my_private_key> [email protected]

并且无法将用户更改为hadoop sudo -su hadoop,因为它要求我提供我不知道root[sudo] password for glue:密码。我也无法使用hadoop用户(而不是root(glue))将其缩进端点,它说权限被拒绝(公钥)。我的问题是……我到底怎么知道dev-endpoint的root用户(胶水)密码?在创建开发端点时,从来没有要求我进行任何设置。或者,我如何通过Hadoop用户进入SSH开发终端?

amazon-web-services hadoop etl aws-glue endpoint
1个回答
0
投票

所以这不是实际的问题。得到了AWS团队的审查,他们说您在通过PyCharm在EMR上运行Spark脚本时会收到这些垃圾警告和错误,但是这不会影响脚本的实际任务。原来是我正在创建的dataFrame;

persons_DyF = glueContext.create_dynamic_frame.from_catalog(database="database", table_name="table")

persons_DyF.printSchema()执行时没有显示任何模式。而我相当确定我定义了该表模式。它仅输出rootpersons_DyF.count() = 0。所以我改用pySpark

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
df = spark.read.table("ingestion.login_emr_testing")
print(df.printSchema())
df.select(df["feed"], df["timestamp_utc"], df['date'], df['hour']).show()

给我以下结果;

.
.
allot of rubbish errors and warning including `java.io.IOException: File '/var/aws/emr/userData.json' cannot be read`
.
.
+------+--------------------+----------+----+
| feed |       timestamp_utc|      date|hour|
+------+--------------------+----------+----+
|TWEAKS|19-Mar-2020 18:59...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 18:59...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 18:59...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
|TWEAKS|19-Mar-2020 19:00...|2020-03-19|  19|
+-----+--------------------+----------+----+
© www.soinside.com 2019 - 2024. All rights reserved.