首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用所需输出列名的AWS Glue简单自定义转换

使用所需输出列名的AWS Glue简单自定义转换
EN

Stack Overflow用户
提问于 2020-10-21 05:38:58
回答 1查看 1.4K关注 0票数 0

假设我有s3://mybucket/mydata/它有具有以下列的csv文件:

颜色、形状、数量、成本

其类型如下:

串,弦,双,双

作为一个精心设计的示例,假设我希望转换数据并将其转储到S3://mybucket/mydata--通过将字符串转换为大写,并将2添加到双倍。所以,一排,比如说,红色,圆圈,2,21.7会变成红色,圆圈,输出4,23.7。下面的代码实现了我想要的(锅炉板代码省略了),其中已经为源桶创建了表"mydata“:

代码语言:javascript
复制
DataSource0 = glueContext.create_dynamic_frame.from_catalog(database = "my database", table_name = "mydata", transformation_ctx = "DataSource0")
ds_df = DataSource0.toDF()
ds_df.select("color","shape","quantity","cost").show()
ds_df1 = ds_df.select(upper(col('color')),upper(col('shape')),col('quantity')+2,col('cost')+2)
Transform0 = DynamicFrame.fromDF(ds_df1, glueContext, "Transform0")
DataSink0 = glueContext.write_dynamic_frame.from_options(frame = Transform0, connection_type = "s3", format = "json", connection_options = {"path": "s3://mybucket/mydata-transformed/", "partitionKeys": []}, transformation_ctx = "DataSink0")
job.commit()

下面是上面示例数据的json结果:

{“上(色)”:“红”,“上(形)”:“圆”,“(数量+ 2)":4.0,”(成本+ 2)":23.7}

数据已被正确转换。然而,列名现在是“上(色)”、“上(形)”、“(数量+ 2)”、“(成本+ 2)”。如何使其得到的列名是颜色、形状、数量、成本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-22 02:59:20

要解决这个问题,可以使用alias。请查看下面的完整示例:

代码语言:javascript
复制
import pyspark.sql.functions as f

jsonStr = """{  "color": "red", "shape": "square","quantity":4,"cost":"11.11" }"""
df = spark.read.json(sc.parallelize([jsonStr]))
df.show()

+-----+-----+--------+------+
|color| cost|quantity| shape|
+-----+-----+--------+------+
|  red|11.11|       4|square|
+-----+-----+--------+------+


ds_df1 = df.select(upper(col('color')).alias('color'),upper(col('shape')).alias('shape'),'quantity','cost')

ds_df1.show()

+-----+------+--------+-----+
|color| shape|quantity| cost|
+-----+------+--------+-----+
|  RED|SQUARE|       4|11.11|
+-----+------+--------+-----+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64457296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档