spark-sqlによってサロゲートキー(1,2,3,4 ...などの自動増分キー)をテーブルに追加するにはどうすればよいですか?サロゲート自動増加キーをテーブルに追加するにはどうすればよいですか?
私はすでにこれが好きでした。
SELECT IDENTITY(1,1) AS table_id, table_1.*
FROM table_1
しかし、機能しませんでした。
spark-sqlによってサロゲートキー(1,2,3,4 ...などの自動増分キー)をテーブルに追加するにはどうすればよいですか?サロゲート自動増加キーをテーブルに追加するにはどうすればよいですか?
私はすでにこれが好きでした。
SELECT IDENTITY(1,1) AS table_id, table_1.*
FROM table_1
しかし、機能しませんでした。
スパークにはmonotonically_increasing_id
というメソッドがあります。これはrow_number
よりも簡単で目的に合ったものです。あなたはこのようにそれを使用することができます:
SELECT MONOTONICALLY_INCREASING_ID() AS table_id, t1.*
FROM table_1 t1
ORDER BY <columns>
そしてまた、あなたの代理キーが再現させるためにORDER BY
を追加することを忘れないでください。
表示されている構文は、SQL Server用です。 Spark SQLでは、row_number()
を使用して結果セットにカラムを追加できます。次のようなものがあります。
SELECT ROW_NUMBER() OVER (ORDER BY col) as table_id, t1.*
FROM table_1 t1;