pyspark - 在本地运行 aws 胶水作业
问题描述
我正在尝试在本地运行胶水作业,但我遇到了一个问题,当我运行我的脚本时会引发异常:
py4j.protocol.Py4JJavaError: An error occurred while calling o47.getDynamicFrame.
: java.lang.IllegalAccessError: tried to access method org.apache.hadoop.metrics2.lib.MutableCounterLong.<init>(Lorg/apache/hadoop/metrics2/MetricsInfo;J)V from class org.apache.hadoop.fs.s3a.S3AInstrumentation
我从这里下载了 aws-glue-libs:https ://github.com/awslabs/aws-glue-libs/tree/glue-1.0/awsglue 。
我的代码:
from pyspark.sql import SparkSession
from awsglue.context import GlueContext
spark = SparkSession \
.builder \
.appName("GlueSparkJobExample") \
.config("spark.jars", "AWSGlueETLPython-1.0.0-jar-with-dependencies.jar") \
.config("spark.local.dir", "/tmp") \
.getOrCreate()
sc = spark.sparkContext
glueContext = GlueContext(sc)
db = "database"
table = "table"
my_df = glueContext.create_dynamic_frame.from_catalog(
database=db, table_name=table)
如果有人可以提供帮助会很棒。
解决方案
推荐阅读
- azure-table-storage - Azure 表存储和 Null 属性值 - 误导性文档?
- python - 是否有关于带有感叹号的字符串会阻止 Python 进行字符串实习?
- mamp-pro - 在 Mojave 10.14 上退出时 MAMP Pro 3.5.2 挂起
- crystal-reports - vs 2010 的项目水晶报告在任何 7 32 位或 64 位的 Windows 中都不起作用
- redis - 关于将事件从redis移到kafka的问题
- django - 如何在 Django rest 框架中捕获 Model.DoesNotExist 异常?
- javascript - 为什么 lodash 的 _.sum() 函数会使 Vuejs 对象失败
- javascript - 火狐。InvalidStateError:尝试使用不可用或不再可用的对象
- python - 如何在 Python 中对字典键进行排序
- c# - 以下引用已添加到项目中