Spark如何写入HBase/Redis/MySQL/Kafka
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Spark如何写入HBase/Redis/MySQL/Kafka,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1266字,纯文字阅读大概需要2分钟。
内容图文
![Spark如何写入HBase/Redis/MySQL/Kafka](/upload/InfoBanner/zyjiaocheng/496/b17a928c6b494803a6cd601c2b96ebe6.jpg)
然后保证这个类在map,foreachRDD等函数下使用,譬如:
dstream.foreachRDD{ rdd =>
rdd.foreachPartition{iter=>
SimpleHBaseClient.bulk(iter)
}
}
为什么要保证放到foreachRDD/map 等这些函数里呢?
Spark的机制是先将用户的程序作为一个单机运行(运行者是Driver),Driver通过序列化机制,将对应算子规定的函数发送到Executor进行执行。这里,foreachRDD/map 等函数都是会发送到Executor执行的,Driver端并不会执行。里面引用的object 类 会作为一个stub 被序列化过去,object内部属性的初始化其实是在Executor端完成的,所以可以避过序列化的问题。
Pool也是类似的做法。然而我们并不建议使用pool,因为Spark 本身已经是分布式的,举个例子可能有100个executor,如果每个executor再搞10个connection
的pool,则会有100*10 个链接,Kafka也受不了。一个Executor 维持一个connection就好。
关于Executor挂掉丢数据的问题,其实就看你什么时候flush,这是一个性能的权衡。
Spark如何写入HBase/Redis/MySQL/Kafka
标签:producer 函数 data redis flush mysq executor hba ...
本文系统来源:http://www.cnblogs.com/itboys/p/8051910.html
内容总结
以上是互联网集市为您收集整理的Spark如何写入HBase/Redis/MySQL/Kafka全部内容,希望文章能够帮你解决Spark如何写入HBase/Redis/MySQL/Kafka所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。