ホームページ >データベース >mysql チュートリアル >Apache Spark DataFrame で列を連結するにはどうすればよいですか?
Apache Spark DataFrame での列の結合
Apache Spark は、DataFrame 内で列を連結するための複数のアプローチを提供します。
SQL CONCAT 関数の利用
直接 SQL クエリの場合、Spark の組み込み CONCAT
関数により列のマージが容易になります。
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>
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>
DataFrame API の concat 関数の利用 (Spark 1.5.0 )
DataFrame API は、このタスク用の concat
関数を提供します。
Python のイラスト:
<code class="language-python">from pyspark.sql.functions import concat, col, lit df.select(concat(col("k"), lit(" "), col("v")))</code>
Scala イラスト:
<code class="language-scala">import org.apache.spark.sql.functions.{concat, lit} df.select(concat($"k", lit(" "), $"v"))</code>
concat_ws 関数の使用
concat_ws
関数には、カスタム区切り文字を指定できるという利点があります。
Python のイラスト:
<code class="language-python">from pyspark.sql.functions import concat_ws, lit df.select(concat_ws(" ", col("k"), lit(" "), col("v")))</code>
Scala イラスト:
<code class="language-scala">import org.apache.spark.sql.functions.{concat_ws, lit} df.select(concat_ws(" ", $"k", lit(" "), $"v"))</code>
これらの手法により、Apache Spark DataFrame 内での簡単な列の連結が可能になり、さまざまなデータ操作タスクに非常に役立つことがわかります。
以上がApache Spark DataFrame で列を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。