你好,
我開始使用磚和有一些方便的功能的Postgres SQL,我努力尋找一個等價的磚。
函數是string_agg。它是用來連接與一個給定的字符串分隔符的列表。可以找到更多信息的鏈接。給我具體的用例,我:列表中的值的行:a, b, c。我想崩潰1行,輸出是a - b - > c >。在postgres string_agg(行,“- >”),然後分組,如果必要的。
非常感謝,
朱莉
您可以使用concat_ws連續連接成一個列的值。
例如:
從pyspark.sql。功能導入concat_ws,從pyspark.sql坳。類型進口StructType、StructField StringType data = [(“A1”、“B1”、“C1”,“D1”), (“A2”、“B2”,“C2”、“D2”), (“A3”、“單位”,“C3”、“D3”), (“A4”、“B4”,“C3”、“D4”)]模式= StructType ([\ StructField (“A”, StringType(),真的),\ StructField (“B”, StringType(),真的),\ StructField (“C”, StringType(),真的),\ StructField (“D”, StringType(),真的)])df = spark.createDataFrame (data =數據,模式=)df.printSchema () df.show () df.select (concat_ws (“_”, df.A、df.B df.C) .alias (“ABC”),“D”),告訴()
輸出:
根|——:string (nullable = true) |——B:字符串(nullable = true) |——C:字符串(nullable = true) |—字符串(nullable = true) + - - - + - - - + - - - + - - - + | | B D C | | | + - - - + - - - + - - - + - - - + | A1 | B1 | C1 | D1 | | A2 | B2 | C2 | D2 | | A3 | B3 | C3 | D3 | | A4 | B4 | C3 | D4 | + - - - + - - - + - - - + - - - + + - - - - - - - - - - - - - - - - D + ABC | | | + - - - - - - - - - - + - - - + | A1_B1_C1 | D1 | | A2_B2_C2 D2 | | | A3_B3_C3 | D3 | | A4_B4_C3 | D4 | + - - - - - - - - - - + - - - +