相关疑难解决方法(0)

如何在 Spark RDD 中比较不区分大小写的字符串?

我有以下数据集

drug_name,num_prescriber,total_cost
AMBIEN,2,300
BENZTROPINE MESYLATE,1,1500
CHLORPROMAZINE,2,3000
Run Code Online (Sandbox Code Playgroud)

想从上面的数据集以及标题中找出 A 和 B 的数量。我正在使用以下代码找出 A 的数量和 B 的数量。

from pyspark import SparkContext
from pyspark.sql import SparkSession

logFile = 'Sample.txt'
spark = SparkSession.builder.appName('GD App').getOrCreate()
logData = spark.read.text(logFile).cache()

numAs = logData.filter(logData.value.contains('a')).count()
numBs = logData.filter(logData.value.contains('b')).count()
print('{0} {1}'.format(numAs,numBs))
Run Code Online (Sandbox Code Playgroud)

它将输出返回为1 1. 我想在不区分大小写的情况下进行比较。我尝试了以下操作,但它返回的错误为'Column' object is not callable

numAs = logData.filter((logData.value).tolower().contains('a')).count()
numBs = logData.filter((logData.value).tolower().contains('b')).count()
Run Code Online (Sandbox Code Playgroud)

请帮帮我。

python apache-spark pyspark

3
推荐指数
1
解决办法
3279
查看次数

标签 统计

apache-spark ×1

pyspark ×1

python ×1