Menggabungkan Lajur dalam Apache Spark DataFrames
Apache Spark menawarkan pelbagai pendekatan untuk menggabungkan lajur dalam DataFrame.
Memanfaatkan Fungsi SQL CONCAT
Untuk pertanyaan SQL langsung, fungsi CONCAT
terbina dalam Spark memudahkan penggabungan lajur.
Ilustrasi Python:
<code class="language-python">df = sqlContext.createDataFrame([("foo", 1), ("bar", 2)], ("k", "v")) df.registerTempTable("df") sqlContext.sql("SELECT CONCAT(k, ' ', v) FROM df")</code>
Ilustrasi Scala:
<code class="language-scala">import sqlContext.implicits._ val df = sc.parallelize(Seq(("foo", 1), ("bar", 2))).toDF("k", "v") df.registerTempTable("df") sqlContext.sql("SELECT CONCAT(k, ' ', v) FROM df")</code>
Menggunakan Fungsi concat API DataFrame (Spark 1.5.0 )
API DataFrame menyediakan fungsi concat
untuk tugasan ini.
Ilustrasi Python:
<code class="language-python">from pyspark.sql.functions import concat, col, lit df.select(concat(col("k"), lit(" "), col("v")))</code>
Ilustrasi Scala:
<code class="language-scala">import org.apache.spark.sql.functions.{concat, lit} df.select(concat($"k", lit(" "), $"v"))</code>
Menggunakan Fungsi concat_ws
Fungsi concat_ws
menawarkan kelebihan untuk menentukan pemisah tersuai.
Ilustrasi Python:
<code class="language-python">from pyspark.sql.functions import concat_ws, lit df.select(concat_ws(" ", col("k"), lit(" "), col("v")))</code>
Ilustrasi Scala:
<code class="language-scala">import org.apache.spark.sql.functions.{concat_ws, lit} df.select(concat_ws(" ", $"k", lit(" "), $"v"))</code>
Teknik ini membolehkan penggabungan lajur yang mudah dalam Apache Spark DataFrames, terbukti tidak ternilai untuk pelbagai tugas manipulasi data.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggabungkan lajur dalam Apache Spark DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!