val sc = new SparkContext("local", "xxx")
val inputData = sc.textFile("hdfs://master:8020/data/spark/user-history-data")
val lines = inputData.map(line => (line, line.length))
val result = lines.mapPartitions { valueIterator =>
if (valueIterator.isEmpty) {
Iterator[String]()
} else {
val transformedItem = new ListBuffer[String]() //setup ListBuffer
val fs: FileSystem = FileSystem.get(new Configuration()) //setup FileSystem
valueIterator.map { item =>
transformedItem += item._1 +":"+item._2
val outputFile = fs.create(new Path("/home/xxx/opt/data/spark/" + item._1.substring(0,item._1.indexOf("\t")) + ".txt"))
outputFile.write((item._1 +":"+item._2).getBytes())
if (!valueIterator.hasNext) {
transformedItem.clear() //cleanup transformedItem
outputFile.close() //cleanup outputFile
fs.close() //cleanup fs
}
transformedItem
}
}
}
result.foreach(println(_))
sc.stop()
将hdfs数据:
zhangsan 1 2015-07-30 20:01:01 127.0.0.1
zhangsan 2 2015-07-30 20:01:01 127.0.0.1
zhangsan 3 2015-07-30 20:01:01 127.0.0.1
zhangsan 4 2015-07-31 20:01:01 127.0.0.1
zhangsan 5 2015-07-31 20:21:01 127.0.0.1
lisi 1 2015-07-30 21:01:01 127.0.0.1
lisi 2 2015-07-30 22:01:01 127.0.0.1
lisi 3 2015-07-31 23:31:01 127.0.0.1
lisi 4 2015-07-31 22:21:01 127.0.0.1
lisi 5 2015-07-31 23:11:01 127.0.0.1
wangwu 1 2015-07-30 21:01:01 127.0.0.1
wangwu 2 2015-07-30 22:01:01 127.0.0.1
wangwu 3 2015-07-31 23:31:01 127.0.0.1
wangwu 4 2015-07-31 22:21:01 127.0.0.1
wangwu 5 2015-07-31 23:11:01 127.0.0.1
读取到spark中,并统计每行长度,再将数据写到本地的文件中(文件名称以每行第一个单词)
最终实现hadoop中setup, cleanup
强烈阅读如下链接:
http://mail-archives.apache.org/mod_mbox/spark-user/201407.mbox/%3CCAPH-c_O9kQO6yJ4khXUVdO=+D4vj=JfG2tP9eqn5RPko=dRNAg@mail.gmail.com%3E
http://blog.cloudera.com/blog/2014/09/how-to-translate-from-mapreduce-to-apache-spark/
http://apache-spark-user-list.1001560.n3.nabble.com/how-to-split-RDD-by-key-and-save-to-different-path-td11887.html#a11983
http://stackoverflow.com/questions/24520225/writing-to-hadoop-distributed-file-system-multiple-times-with-spark
相关推荐
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Storm是一个分布式的、容错的实时计算系统。两者整合,优势互补。
《Python+Spark 2.0+Hadoop机器学习与大数据》是一本深入探讨大数据处理与机器学习技术结合的著作。作者林大贵以其丰富的经验,详细介绍了如何利用Python、Spark 2.0以及Hadoop这一组合来构建高效的数据分析解决方案...
在大数据处理领域,Spark和Hadoop是两个至关重要的框架。Spark以其高效的内存计算和易用性,成为数据处理的新宠,而Hadoop作为分布式存储和计算的基础,为大数据提供了基石。本文将详细介绍如何在IDE环境下搭建Spark...
Big Data Analytics with Spark and Hadoop(Spark与Hadoop大数据分析)代码code
Big Data Analytics with Spark and Hadoop 英文无水印pdf pdf使用FoxitReader和PDF-XChangeViewer测试可以打开
对于使用PySpark,需要安装Python3,并在Spark的python目录下通过`python36 setup.py install`命令安装pyspark。同时,安装numpy库以支持数据处理,可以使用国内镜像源以提高安装速度。 7. **启动和停止服务**: ...
在标题"spark-3.2.1 不集成hadoop安装包"中,我们看到的是Spark的一个特定版本——3.2.1,而且特别强调了这个版本不包含Hadoop的集成。这意味着这个Spark发行版没有内置对Hadoop的支持,用户需要自己配置和管理与...
《Spark高清Hadoop》这本书是针对大数据处理领域的一份宝贵学习资料,主要聚焦于Apache Spark这一强大的分布式计算框架。Spark以其高效、易用和多用途的特点,在大数据处理领域备受推崇,尤其是在实时处理、机器学习...
这个"spark-3.1.3-bin-without-hadoop.tgz"压缩包是Spark的3.1.3版本,不含Hadoop依赖的二进制发行版。这意味着在部署时,你需要自行配置Hadoop环境,或者在不依赖Hadoop的环境中运行Spark。 Spark的核心特性包括...
本地开发Spark/Hadoop报错“ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.” ...
《Spark与Hadoop在大数据处理中的深度探索》 在当今数据爆炸的时代,大数据处理技术的重要性不言而喻。Spark和Hadoop作为两个重要的大数据处理框架,各具特色且相辅相成,共同构建了大数据生态的重要一环。本文将...
对于想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,Spark 集群的构建分为了五个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个细节,构建完整...
Spark 是加州大学伯克利分校 AMP(Algorithms,Machines,People)实验室开发的通用内存并行计算...Spark 与 Hadoop Hadoop 已经成了大数据技术的事实标准,Hadoop MapReduce 也非常适合于对大规模数据集合进行批处理操
在大数据处理领域,Spark和Hadoop是两个非常重要的框架,它们广泛用于数据处理、分析以及存储。当需要从云存储服务如Amazon S3(Simple Storage Service)读取或写入数据时,这两个框架需要额外的依赖包来实现与S3的...
HADOOP SPARK 开发依赖包,对于第一个SPARK开发的例子,可以导入这个包去进行开发
spark+hadoop+zookeeper 大数据平台搭建脚本,亲测通过,适用于大数据初学者在虚拟机玩
为了把spark2.4.X和hadoop2.7.3升级为spark3.1.1和hadoop3.2.2找了半天资源,最后还是自己手动编写了一个。已经在集群上测试可用
毕业设计基于Python+Spark+Hadoop大数据开发的用户画像电影推荐系统源码+数据库,含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分毕业设计项目,毕业设计、期末大作业和课程设计高分必看,下载...
《Spark 3.2.0 与 Hadoop 3 的集成——无 Hive 版本解析》 Spark,作为大数据处理领域的重要工具,以其高效的内存计算和分布式数据处理能力备受青睐。Spark 3.2.0 是一个重要的版本更新,它在性能、稳定性和功能上...