Spark - 行元素的长度
Spark - length of element of row
我正在尝试执行筛选操作以获取我的可变国家/地区长度小于 4 的所有行,但无论我做什么,我都会不断出错。
这是当前代码(使用Python API)
uniqueRegions = sqlContext.sql("SELECT country, city FROM df")
uniqueRegions = uniqueRegions.rdd
uniqueRegions = uniqueRegions.distinct()
uniqueRegions = uniqueRegions.filter(lambda line: len(line.country) < 4)
这是错误
TypeError: object of type 'NoneType' has no len()
和第一行(用 rdd.first
完成):
Row(country=u'xxxxxx', city=u'xxxxxx')
关于如何解决这个问题有什么建议吗?
谢谢
您有一条国家/地区为 NULL 的数据库记录。那个长度没有意义。没有国家设置怎么办?
也许你想过滤记录? SELECT country, city FROM df WHERE country IS NOT NULL
?或者 lambda l: l.country is not None and len(l.country) < 4
,或者根据您的逻辑,lambda l: l.country is None or len(l.country) < 4
.
我正在尝试执行筛选操作以获取我的可变国家/地区长度小于 4 的所有行,但无论我做什么,我都会不断出错。
这是当前代码(使用Python API)
uniqueRegions = sqlContext.sql("SELECT country, city FROM df")
uniqueRegions = uniqueRegions.rdd
uniqueRegions = uniqueRegions.distinct()
uniqueRegions = uniqueRegions.filter(lambda line: len(line.country) < 4)
这是错误
TypeError: object of type 'NoneType' has no len()
和第一行(用 rdd.first
完成):
Row(country=u'xxxxxx', city=u'xxxxxx')
关于如何解决这个问题有什么建议吗? 谢谢
您有一条国家/地区为 NULL 的数据库记录。那个长度没有意义。没有国家设置怎么办?
也许你想过滤记录? SELECT country, city FROM df WHERE country IS NOT NULL
?或者 lambda l: l.country is not None and len(l.country) < 4
,或者根据您的逻辑,lambda l: l.country is None or len(l.country) < 4
.