Как мы можем написать пользовательские функции в скрипте AWS-Glue с использованием PySpark (Python) либо в динамическом кадре, либо в кадре данных?
"AWS Glue пока не поддерживает напрямую лямбда-функции, также известные как пользовательские функции. Но вы всегда можете преобразовать DynamicFrame в и из Apache Spark DataFrame, чтобы использовать преимущества Spark в дополнение к специальным функциям DynamicFrames". - Образцы AWS Glue Medicaid Python
Образцы AWS Glue Medicaid Python (цитируемые/связанные выше) включают пример Spark UDF:
from pyspark.sql.functions import udf
from pyspark.sql.types import StringType
chop_f = udf(lambda x: x[1:], StringType())
medicare_dataframe = medicare_dataframe.withColumn(
"ACC", chop_f(
medicare_dataframe["average covered charges"])).withColumn(
"ATP", chop_f(
medicare_dataframe["average total payments"])).withColumn(
"AMP", chop_f(
medicare_dataframe["average medicare payments"]))
medicare_dataframe.select(['ACC', 'ATP', 'AMP']).show()
Это просто стандартный код Spark. Если вы хотите использовать Spark SQL, посмотрите этот пример блока данных.