Код: Выделить всё
from pyspark.sql.functions import lit
from awsglue import DynamicFrame
import json
import boto3
def impute_static_values(self, bucket, key):
s3_client = boto3.client('s3')
response = s3_client.get_object(Bucket=bucket, Key=key)
file_content = response['Body'].read().decode('utf-8')
config_data = json.loads(file_content)
df = self.toDF()
for column,value in config_data['static_values'].items():
df = df.withColumn(column, lit(value))
# Convert back to DynamicFrame
transformed_dynf = DynamicFrame.fromDF(df, self.glue_ctx, self.name)
return transformed_dynf
# Add this method to DynamicFrame class
DynamicFrame.impute_static_values = impute_static_values
Некоторые решения предлагают использовать Python 3.10, но им невозможно управлять с помощью Glue (Visual ETL). Любые рекомендации приветствуются.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -from-urll