from pyspark.conf import SparkConf
from pyspark.context import SparkContext
# creating spark context
conf = SparkConf().setAppName("SelectingColumn").setMaster("local[*]")
spark = SparkContext(conf = conf)
# calling data
raw_data = spark.textFile("C:\\Users...\\SampleCsv.txt", 1)
# custom method to return column b data only
def parse_data(line):
fields = line.split("\t")
# use 0 for column 1, 2 for column 2 and so on
return fields[1]
columnBdata = raw_data.map(parse_data)
print(columnBdata.take(4)) # yields column b data only
请看raj的答案,因为它更完整。我提供了我的解决方案,因为对于初学者来说可能更容易理解
sc.textfile
读取整行,因此inputRDD
中只有一列。您需要首先按分隔符(空格或制表符)分割输入行。完成此操作后,可以选择要查找的相关列给予
Hi要在Python中从RDD中选择特定列,请按如下方式操作
样本数据(选项卡分开)
输出['b'、'2'、'7'、'12']
相关问题 更多 >
编程相关推荐