Apache spark 有没有更好的方法使用Python处理Spark/AWS Glue中的PostgreSQL Hstore
我正在使用AWS Glue对PostgreSQL中存储的数据执行ETL,其中包含许多动态Hstore字段。我需要使用Hstores中的一些字段执行操作 让我来介绍一下我是如何做到这一点的,这样你就可以帮助我做另一个选择,或者让我做得更好Apache spark 有没有更好的方法使用Python处理Spark/AWS Glue中的PostgreSQL Hstore,apache-spark,pyspark,aws-glue,Apache Spark,Pyspark,Aws Glue,我正在使用AWS Glue对PostgreSQL中存储的数据执行ETL,其中包含许多动态Hstore字段。我需要使用Hstores中的一些字段执行操作 让我来介绍一下我是如何做到这一点的,这样你就可以帮助我做另一个选择,或者让我做得更好 数据从Glue目录加载到DaynamicFrame中 我将DynamicFrame转换为Spark DataFrame,用于一些类似SQL的操作(我不能使用DyanicFrame,因为我需要一些分组、聚合和排序) Glue目录不支持存储并将列作为字符串加载
导入pyspark.sql.F函数
将pyspark.sql.types导入为T
df=dynamicFrame.toDF()
df=df.withColumn(“column_from_hstore”)、F.concat(F.lit(“{”)、F.col(“column”)、F.lit(“}”))
df=df.withColumn(“column_json”,F.regexp_replace(F.col(“column_from_hstore”),“=>”,“:”)
df=df.withColumn(“column_-map”,F.from_-json(F.col(“column_-json”),T.MapType(T.StringType(),T.StringType()))
df=df.withColumn(“column\u child”),F.col(“column\u map.child”).cast('int'))