AWSGlue:读/写Parquet文件(文件>50,000)
创始人
2024-09-25 14:31:57
0
  1. 导入所需Python库:
import boto3
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from pyspark.sql.functions import *
from awsglue.context import GlueContext
from pyspark.sql import SparkSession
from awsglue.dynamicframe import DynamicFrame
  1. 配置AWS Glue作业参数:
args = getResolvedOptions(sys.argv, ['JOB_NAME'])
glueContext = GlueContext(SparkContext.getOrCreate())
job = glueContext.create_job(args['JOB_NAME'], args)
  1. 定义源文件路径和目标文件路径:
source_path = "s3://source-bucket/path/to/parquet/files/"
destination_path = "s3://destination-bucket/path/to/parquet/files/"
  1. 读取数据:
in_dyf = glueContext.create_dynamic_frame_from_options(
            "parquet", {"paths": [source_path]}, "my_source")
  1. 构建转换器:
applymapping1 = ApplyMapping.apply(frame=in_dyf, mappings=[
    # Mapping column names in source to column names in destination
    ("field_name_in_source", "string", "field_name_in_destination", "string"),
    ("field_name_in_source2", "string", "field_name_in_destination2", "string")
], transformation_ctx="applymapping1")
  1. 转换数据类型:
cast3 = applymapping1.toDF().withColumn(
    "numeric_column_name", col("numeric_column_name").cast("decimal(10,2)"))
  1. 写入数据:
out_dyf = DynamicFrame.fromDF(cast3, glueContext, "out_dyf")
glueContext.write_dynamic_frame.from_options(frame=out_dyf, connection_type="s3",
                                             connection_options={"path":destination_path},
                                             format="parquet",
                                             transformation_ctx="out")

相关内容

热门资讯

第六分钟透视!微乐小程序游戏破... 第六分钟透视!微乐小程序游戏破解器(辅助挂)原来是有挂(普及教程开挂辅助神器);无需打开直接搜索薇:...
5分钟发现!广西友乐解码器下载... 5分钟发现!广西友乐解码器下载安装(辅助挂)果然是有挂(介绍教程开挂辅助安装) 了解更多开挂安装加(...
第六分钟科普!湖北休闲辅助(辅... 第六分钟科普!湖北休闲辅助(辅助挂)一直确实有挂(安装教程开挂辅助神器)1、下载安装好湖北休闲辅助,...
第二分钟辅助!至余干辅助(辅助... 第二分钟辅助!至余干辅助(辅助挂)其实确实有挂(教你攻略开挂辅助平台) >>您好:软件加薇13670...
7分钟辅助!仟众部落辅助(辅助... 7分钟辅助!仟众部落辅助(辅助挂)其实确实有挂(德州论坛开挂辅助平台);亲,仟众部落辅助这款游戏原来...
三分钟详情!玄龙辅助工具(辅助... 三分钟详情!玄龙辅助工具(辅助挂)一直确实有挂(规律教程开挂辅助软件);无需打开直接搜索微信(136...
第二分钟讲解!浙江游戏辅助(辅... 您好:浙江游戏辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
十分钟了解!福建天天开心福州器... 十分钟了解!福建天天开心福州器真的假的(辅助挂)原来有挂(安装教程开挂辅助安装);无需打开直接搜索加...
第6分钟科普!微信随意玩辅助器... 您好:这款微信随意玩辅助器有开挂吗游戏是可以开挂的,确实是有挂的,很多玩家在这款微信随意玩辅助器有开...
第七分钟发现!情怀游戏字牌辅助... 第七分钟发现!情怀游戏字牌辅助(辅助挂)一直真的是有挂(黑科技教程开挂辅助神器);无需打开直接搜索打...