2017-01-23 2 views
0

У меня есть столбец в моей базе данных/dataframe, который представляет собой пару ключевых значений. Я хочу фильтровать данные на основе определенного значения. Говорите только те строки со значением «DDD» для ключа «ddd». Как это можно достичь в искровом/искровом 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 filterRdd = textFileDF.map (line => line.getAs [String] ("colname")). Filter (line => line.contains ("ddd ':' DDD")) –

+1

@ SandeepShetty: Это подход DF, а ваш подход - rdd. оба лучше, если они работают :-) –

Смежные вопросы