2017-01-23 74 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。如果他们在工作,他们都会更好:-) –