# 在Spark-shell中 读取上传到HDFS上的数据 val input = sc.textFile("/Tipdm/Spark/Data/online_retail.txt") # 去除csv数据文件的第一行 val cutinput = input.mapPartitionsWithIndex((ix, it) => { if (ix == 0) it.drop(1) it }) cutinput.collect val re = cutinput.map(line => {val data = line.split(",");(data(0), data(1).toDouble)}).reduceByKey(_+_) val re_sort = re.filter(x=> !(x._1=="")).sortBy(x=>x._2,false) re_sort.take(50)
时间: 2024-03-31 22:37:16 浏览: 91
HDFS上传文件报错org.apache.hadoop.fs.ChecksumException: Checksum error: file:/hyk/data/hyk.txt
5星 · 资源好评率100%
这是一个Spark-shell的代码段,用于读取上传到HDFS上的数据,并对数据进行处理和分析。具体来说,代码中首先使用sc.textFile()函数读取HDFS上的数据文件,然后使用mapPartitionsWithIndex()函数去除csv数据文件的第一行。接下来,使用map()函数将数据文件中的每一行转换成键值对的形式,其中键为数据文件中的第一个字段,值为数据文件中的第二个字段转换成double类型的结果。然后,使用reduceByKey()函数对数据进行聚合操作,将相同键的值相加。最后,使用filter()函数去除键为空的数据,使用sortBy()函数将数据按照值从大到小排序,最后使用take()函数取出前50个结果。
阅读全文