Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pyspark AWS胶水错误|无法使用spark从开发人员端点读取胶水表_Pyspark_Spark Dataframe_Aws Glue - Fatal编程技术网

Pyspark AWS胶水错误|无法使用spark从开发人员端点读取胶水表

Pyspark AWS胶水错误|无法使用spark从开发人员端点读取胶水表,pyspark,spark-dataframe,aws-glue,Pyspark,Spark Dataframe,Aws Glue,即使我授予了所有必需的IAM权限,我也无法访问AWS胶水表。我甚至不能列出所有的数据库。这是代码 import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job #

即使我授予了所有必需的IAM权限,我也无法访问AWS胶水表。我甚至不能列出所有的数据库。这是代码

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

# New recommendation from AWS Support 2018-03-22
newconf = sc._conf.set("spark.sql.catalogImplementation", "in-memory")
sc.stop()
sc = sc.getOrCreate(newconf)
# End AWS Support Workaround

glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
错误在这里。当访问一个粘合表时

datasource_history_1 = glueContext.create_dynamic_frame.from_catalog(database = "dev", table_name = "history", transformation_ctx = "datasource_history_1")
我试着列出数据库,在那里我只能看到默认的一个,没有其他的(我在Glue中创建的)

我试图参考下面的链接,仍然没有帮助我


您似乎直接从这个问题中获取了代码braj:-但该代码特定于我的Amazon Glue环境,我引用的表在您的环境中不存在

要使此命令生效,请执行以下操作:

datasource_history_1 = glueContext.create_dynamic_frame.from_catalog(database = "dev", table_name = "history", transformation_ctx = "datasource_history_1")
检查您自己的Glue目录,确保在名为dev的数据库中有一个名为history的表。如果您没有,那么我不确定您希望从这段代码中看到什么行为


与其从别人的StackOverflow答案中的脚本开始,我建议您先在Glue中创建一个作业,让它为您生成源连接代码。以此为出发点。它将在该脚本中为您生成create_dynamic_frame.from_catalog命令。

这是一个我无法估计的错误,我们不应该也输出错误吗?此外,我们是否有一些标准文档说明我们不应该将错误(如果它们是例外情况)放入,请阅读解释。错误当然是非常有用的(但是如果您使用PySpark,请不要切断Java回溯,这是大多数情况下有用的事情发生的地方),但是图像不是(图像很难读取,取决于设备,并且无法搜索)。请发布文本版本。
newconf=sc.\u conf.set(“spark.sql.catalogImplementation”,“in memory”)
如果您想使用粘合目录(配置单元元存储),那么使用内存目录将切断这种能力。内存中的目录将允许您将dataframe注册为表和临时表,并在它们上运行sparksql,但这些将不在您的Glue目录中。AWS支持部门的确切建议是什么?嘿,不。当然,我使用了我的表和模式,由于安全原因无法共享。我将用实际错误替换图像。