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
请看拉吉的回答,因为它更完整。我提供了我的解决方案,因为对初学者来说可能更容易理解。
sc.textfile
读取整行,因此inputRDD
中只有一列。您需要首先使用定界字符(空格或制表符)拆分输入行。完成此操作后,可以选择要查找的相关列给予
嗨,要从Python中的RDD中选择一个特定的列,请按如下所示操作
样本数据(标签分开)
输出['b','2','7','12']
相关问题 更多 >
编程相关推荐