2017-01-23 23 views
0

データベース/データフレームにキー値のペアである列があります。私は特定の値に基づいてデータをフィルタリングしたい。 キー 'ddd'の値が 'DDD'の行のみを表示します。 これはspark/spark sqlでどのように実現できますか?スパークデータフレームのキー値に基づくフィルタリング

"{'aaa': 'AAA', 'bbb': 'BBB', 'ccc': 'CCC', 'ddd': 'DDD', 'eee': 'EEE', 'fff': 'FFF', 'ggg': 'GGG'}" 
"{'aaa': 'AAA1', 'bbb': 'BBB1', 'ccc': 'CCC1', 'ddd': 'DDD1', 'eee': 'EEE1', 'fff': 'FFF1', 'ggg': 'GGG1'}" 

答えて

2

私たちは、フィルタ機能

 DataFrame inputDf= //read from database 

    DataFrame filteredDf=inputDf.filter("ddd='DDD'"); 
+0

を使用して、以下のようにそれを行うことができます私は、以下のアプローチでの作業これを得ました。私が使用できるより良いものはどれですか?val filteredRdd = textFileDF.map(line => line.getAs [String]( "colname"))。filter(line => line.contains( "ddd": 'DDD ")) –

+1

@ SandeepShetty:これはDFのアプローチであり、あなたのアプローチはrddです。彼らが働いているなら両方とも良いです:-) –

関連する問題