2016-10-15 8 views
0

ハイブから2つのテーブルをデータフレームに読み込み、両方のデータフレームに存在する行に一意の番号を関連付ける必要があります。この数は、データフレーム内で、また両方のデータフレーム内で一意でなければなりません。SparkのDataFrameの各行の乱数

ハイブからの照会中にrow_source()機能の使用について読みましたが、その番号は2つのデータフレームで一意ではありません。

解決策をご提案ください。あなたが行うことができます

答えて

0

一つの事をするために例えば乱数を生成UDFを作成し、このUDFを使用して作られており、あなたのUDFは、接頭辞でカラムIDを区別することができ、他の列のIDを追加し、

ですdataFrame1それがDF2のようになるdataFrame2 121237814 :: DF1のようにしてのためになる:: 65452634827

だからあなたのUDFはやや次のようになりますことができます。

def generateIdForDF1=df1::UUID.randomUUID.hashCode.toLong 

他は同じです!

+0

私はいくつかのフィールドにその値を使用したいと思いますが、それはどんなジャンク値でもかまいません。 –

+0

あなたができることは、UUID.randomUUID.hashCode.toLongまたはUUID.randomUUID.hashCode.toIntを使用することができます –

+0

それはあなたの問題を解決する? –