首页   注册   登录
 kex0916 最近的时间轴更新

kex0916

V2EX 第 238839 号会员,加入于 2017-07-05 14:48:46 +08:00
今日活跃度排名 5731
kex0916 最近回复了
@qqq8724 😀
要按照压缩包文件目录分层分区要在 driver 侧就能拿到目录结构然后划分 partitions,然后每个 partition 读取该目录下的数据,但是压缩文件默认一般都是不 splitable 的,每个 partition 读取的时候也得完全解开后读取该分区的指定目录,这样各个分区都会有重复的工作。我建议是:
driver 侧将 tar.gz 先解压到临时目录,多个压缩文件可以按文件路径下发 task 来分布式解压,得到解压后的临时目录后,自己重写 FileInputFormat 来划分 split 然后采用 newAPIhadoopRDD 或者自己实现 RDD,按照临时目录下的目录来划分分区,执行完后把临时目录删除。
至于你说的不解压直接读,只要读还是得解压吧,可能只是在内存中完成解压而没有写到磁盘上。
19 天前
回复了 zhuzhezhe 创建的主题 生活 23 岁,得了癌症,人生无望
加油加油
不能保证每台机器上都能至少起一个 executor,最好还是放到 hdfs 这种分布式文件系统上
spark 读取的话可以自己实现分区切分的规则,也可以采用自己实现 FileInputFormat 将 isSplitable 设置成 false,然后使用 hadoop rdd api.
70 天前
回复了 Nirlan 创建的主题 Hadoop 关于 Spark 读取预分区 Hbase 问题
@Nirlan ^_^
82 天前
回复了 Nirlan 创建的主题 Hadoop 关于 Spark 读取预分区 Hbase 问题
自己实现个 RDD,partition 按照你预分区的划分 200 个,一个 partition 对应一个预分区,每个分区都是计算该分区对应的预分区的数据,对应的 startrow=该分区对应的预分区号+2018092800 + 0000 + 0000 + 000000,endrow=该分区对应的预分区号+2018092899 + 0000 + 0000 +000000,这样 200 个 region 在资源允许的情况可以并发的读取,也方便后面使用 spark 的算子。
分母
@forever139 2 年大数据经验的可以吗
成都大数据有坑吗
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3795 人在线   最高记录 4019   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 8ms · UTC 03:09 · PVG 11:09 · LAX 19:09 · JFK 22:09
♥ Do have faith in what you're doing.
沪ICP备16043287号-1