AWSGlue-在连接和将其存储在S3中面临内存问题。
创始人
2024-09-25 14:31:25
0

如果在使用AWS Glue时遇到了连接和存储量大导致内存问题,可以尝试通过提高worker的数量来解决。此外,可以使用分区和分桶等优化技巧来减少数据的移动和复制。以下是示例代码:

# 增加worker数量
import sys
from awsglue.utils import getResolvedOptions
from awsglue.job import Job
from pyspark.context import SparkContext
from pyspark.sql.functions import *
from pyspark.sql.types import *
from awsglue.context import GlueContext

args = getResolvedOptions(sys.argv, ['JOB_NAME'])
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)
# 提高worker数量
sc.setCheckpointDir("s3:///checkpoints/")
spark.conf.set("spark.sql.shuffle.partitions", "10") 
spark.conf.set("spark.default.parallelism", "10")
# 加载数据,并进行优化
some_df = glueContext.create_dynamic_frame.from_options(
    connection_type="s3",
    connection_options={"paths": ["s3:///some_data.csv"]},
    format="csv",
    format_options={"withHeader": True},
).toDF().repartition("column1").sortWithinPartitions("column2")
# 进行连接操作
joined_df = some_df.join(another_df, on="column1", how="inner")

# 使用分区和分桶
# 定义schema
schema = StructType([
    StructField("column1", StringType(), True),
    StructField("column2", IntegerType(), True),
    StructField("column3", StringType(), True)])
# 读取数据
df = spark.read \
         .option("header", "true") \
         .option("delimiter", ",") \
         .option("quote", "\"") \
         .schema(schema) \
         .load("s3:///data.csv")
# 进行分区和分桶
df = df.repartition("column1").sortWithinPartitions("column2") \
       .write \
       .bucketBy(numBuckets=5, "column1") \
       .option("path", "s3:///output/") \
       .saveAsTable("my_table_backend")

相关内容

热门资讯

透视好牌!德普之星透视辅助软件... 1、透视好牌!德普之星透视辅助软件下载,wepoker辅助软件视频,安装教程(有挂透明)。2、wep...
如何分辨真伪!约局吧辅牌器,a... 您好,aapoker挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
透视代打!德普之星透视辅助软件... 透视代打!德普之星透视辅助软件是真的吗,奇迹陕西游戏辅助,微扑克教程(有挂方法);致您一封信;亲爱奇...
每日必看教程!we poke有... 每日必看教程!we poke有挂吗,智星德州菠萝,介绍教程(果然是真的有挂)1、智星德州菠萝ai机器...
透视免费!智星德州辅助译码插件... 1、透视免费!智星德州辅助译码插件靠谱吗,约局吧可以看到别人的底牌,2025新版教程(有挂透明)(U...
2分钟细说!aa扑克平台,we... 2分钟细说!aa扑克平台,we辅助poker德之星,黑科技教程(原本有挂);致您一封信;亲爱we辅助...
透视智能ai!aapoker透... 透视智能ai!aapoker透视插件下载,雀姬辅助脚本,必备教程(有挂技巧)关于雀姬辅助脚本机制的,...
技术分享!wpk微扑克辅助存在... 技术分享!wpk微扑克辅助存在吗,aapoker猫腻,AI教程(原来有挂)1、aapoker猫腻ai...
透视有挂!wepoker辅助下... 透视有挂!wepoker辅助下载,心悦填大坑辅助器下载,第三方教程(有挂攻略);支持2-10人实时对...
玩家必看攻略!wpk微扑克最新... 玩家必看攻略!wpk微扑克最新辅助,wepoke智能ai,攻略教程(原来真的是有挂)(1)玩家必看攻...