Spark Streaming 的saveAsTextFiles遇到的坑
使用sparkStreaming消费数据,并使用Dstream的 saveAsTextFile保存数据到hdfs中,通过使用这个方法,生成的文件夹存在问题,
代码例子如下:
resultRdd.map(x=>x).saveAsTextFiles("hdfs:ip//data/storage/20181010/"+(new Date())) //new Date()自行转化
ssc.start()
ssc.awaitermination()
而hsfs中目录显示为
/data/storage/20181010/201810100708223-1547016648000
/data/storage/20181010/201810100708223-1547016652000
/data/storage/20181010/201810100708223-1547016658000
.........................................
从中发现最后面多了一条横杠 -和时间戳1547016648000,是根据间隔时间自动生成的,但是我不想要他后面的-1547016648000,
并且201810100708223日期固定住了
查看saveAsTextFiles源码
def saveAsTextFiles(prefix: String, suffix: String = ""): Unit = ssc.withScope {
val saveFunc = (rdd: RDD[T], time: Time) => {
val file = rddToFileName(prefix, suffix,time)
rdd.saveAsTextFile(file)
}
this.foreachRDD(saveFunc)
}
saveAsTextFiles方法中也是调用了saveAsTextFile方法,其中有个添加时间戳的方法。
于是我根据源码自己使用foreachRDD,生成文件使用saveAsTextFile
resultRdd.foreachRDD{
rdd=>{}
rdd.map(x=>x).saveAsTextFile("hdfs:ip//data/storage/20181010/"+(new Date())) //new Date()自行转化
}
ssc.start()
ssc.awaitermination()
现在hsfs中目录显示为
/data/storage/20181010/201810100708223
/data/storage/20181010/201810100708460
达到自己想要的结果,根据streaming 间隔时间生成文件夹,并其中包含文件。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
技术篇-深入解读 HBase2.0 新功能之 AssignmentManagerV2
1.背景 AssignmentManager 模块是 HBase 中一个非常重要的模块,Assignment Manager (之后简称 AM)负责了 HBase 中所有 region 的 Assign,UnAssign,以及 split/merge 过程中 region 状态变化的管理等等。在 HBase-0.90 之前,AM 的状 态全部存在内存中,自从 HBASE-2485 之后,AM 把状态持久化到了 Zookeeper 上。在此基础上,社区对 AM 又修复了大量的 bug 和优化(见此文章),最终形成了用在 HBase-1.x 版本上的这个 AM。 2.老 Assignment Mananger 的问题 相信深度使用过 HBase 的人一般都会被 Region RIT 的状态困扰过,长时间的 region in transit
-
下一篇
SparkSQL在有赞的实践
前言 有赞数据平台从2017年上半年开始,逐步使用 SparkSQL 替代 Hive 执行离线任务,目前 SparkSQL 每天的运行作业数量5000个,占离线作业数目的55%,消耗的 cpu 资源占集群总资源的50%左右。本文介绍由 SparkSQL 替换 Hive 过程中碰到的问题以及处理经验和优化建议,包括以下方面的内容: 有赞数据平台的整体架构。 SparkSQL 在有赞的技术演进。 从 Hive 到 SparkSQL 的迁移之路。 一. 有赞数据平台介绍 首先介绍一下有赞大数据平台总体架构: 如下图所示,底层是数据导入部分,其中 DataY 区别于开源届的全量导入导出工具 alibaba/DataX,是有赞内部研发的离线 Mysql 增量导入 Hive 的工具,把 Hive 中历史数据和当天增量部分做合并。DataX / DataY
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- MySQL数据库在高并发下的优化方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,8上快速安装Gitea,搭建Git服务器