[英]Is there any similar function in spark RDD like the 'like' function in sql?
我正在尋找like
在sql中一樣的RDD操作。 假設我有一列具有不同IP的列,例如:
192.168.1.1/
192.168.1.2/
192.168.1.3/
123.123.123.123/
1.1.1.1/
2.2.2.2/
假設它們處於不同的RDD和DataFrame類型,以便我們可以直接對它們進行一些操作。 在RDD中是否有與以下sql相同的結果?
'SELECT count(host) from webIP where host like '192.168.1.%'.
我知道如何使用reduceByKey
函數來計算,如Lines.reduceByKey(lambda x, y: x+y)
我所尋找的是一個類似的功能,如like
在SQL中發現,以192.168開始的IP地址。 1. *在RDD數據中。
rdd = sc.parallelize(['192.168.1.1',
'192.168.1.2',
'192.168.1.3',
'123.123.123.123',
'1.1.1.1 2.2.2.2'])
計算以192.168.1.
開頭的元素192.168.1.
你可以做:
>>> rdd.filter(lambda x: x.startswith('192.168.1.')).count()
3
當心filter()
是一個轉換,而count()
是一個動作
>>> the_dataframe.filter('webIP LIKE "192.168.1.%"').count()
假設目標列是'webIP'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.