要在AWS Glue爬虫中丢弃未使用的列,您可以使用“Transform”选项来进行列转换和过滤。以下是一个示例代码,演示了如何在AWS Glue脚本中实现此功能:
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from pyspark.sql import SparkSession
# 获取Glue参数
args = getResolvedOptions(sys.argv, ['JOB_NAME'])
# 创建Spark和Glue上下文
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
# 创建动态框架
dynamic_frame = glueContext.create_dynamic_frame.from_catalog(database=, table_name=)
# 选择要保留的列
selected_columns = ['col1', 'col2', 'col3']
# 过滤出未使用的列
filtered_frame = Filter.apply(frame=dynamic_frame, f=lambda x: x['name'] in selected_columns)
# 将动态框架转换为数据帧
data_frame = filtered_frame.toDF()
# 将数据帧写回到目标表
data_frame.write.format("").option("path", "").mode("overwrite").save()
请根据您的实际情况替换
、
、
和
。
这段代码首先创建了一个动态框架 dynamic_frame
,然后使用 Filter
转换将未使用的列过滤出来,最后将过滤后的数据帧写回到目标表中。
请记得根据您的实际需求修改选定的列,并根据目标表的格式和路径进行相应的更改。