A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 武汉分校-小舞 于 2019-1-3 18:00 编辑

### Sqoop
Sqoop导数据的时候发生数据倾斜怎么办?
比如说10个节点的Sqoop运行,数据只往一个节点上跑,如何解决?
Sqoop的底层是MapReduce, 加随机数解决?
在哪加,怎么加?
答:使用--split-by 按照字段进行切分,然后-m 提高并行可以解決sqoop数据倾斜的问题
假设有一张表test,sqoop命令中–split-by ‘id’,-m 10,会发生怎样奇特的事情。首先呢,sqoop会去查表的元数据等等,重点说一下sqoop是如何根据–split-by进行分区的。首先sqoop会向关系型数据库比如mysql发送一个命令:select max(id),min(id) from test。然后会把max、min之间的区间平均分为10分,最后10个并行的map去找数据库
注意点:
–split-by对非数字类型的字段支持不好。一般用于主键及数字类型的字段
### Kafka+Spark Streaming
Kafka消费端数据丢失了,怎么办?
你们公司Kafka消费端有没设置消费一条数据,返回一个确认值?
Kafka数据重复消费了怎么办,如何解决重复消费的问题?
答:
名词解释:
同步模式,一条生产者发一条kafka服务端应答一次
异步模式,批量发送,kafka服务端只应答一次
在生产者中指定ack应答机制

Properties props = new Properties();
        //broker地址列表
        props.put("bootstrap.servers", "192.168.25.142:9092,192.168.25.142:9093,192.168.25.142:9094");
        /**
         * ack应答模式
         * 值为all:all是最慢但最安全的
         * 值为0:表示生产者只负责发送数据
         * 值为1:表示partition的leader收到数据给出响应
         * 值为-1:表示某个partition的所有副本都收到数据后给出响应
         */
        props.put("acks", "all");

Kafka数据丢失的情况如下:
使用同步模式的时候,有3种状态保证消息被安全生产,在配置为1(只保证写入leader成功)的话,如果刚好leader partition挂了,数据就会丢失。
还有一种情况可能会丢失消息,就是使用异步模式的时候,当缓冲区满了,如果配置为0(还没有收到确认的情况下,缓冲池一满,就清空缓冲池里的消息),
数据就会被立即丢弃掉。

只要能避免上述两种情况,那么就可以保证消息不会被丢失。

1)就是说在同步模式的时候,确认ack设置为-1,也就是让消息写入leader和所有的副本。
2)还有,在异步模式下,如果消息发出去了,但还没有收到确认的时候,缓冲池满了,在配置文件中设置成不限制阻塞超时的时间,也就说让生产端一直阻塞,这样也能保证数据不会丢失。
在数据消费时,避免数据丢失的方法:如果使用了storm,要开启storm的ackfail机制;如果没有使用storm,确认数据被完成处理之后,再更新offset值。



游客,如果您要查看本帖隐藏内容请回复


### 其他问题
集群的堆栈是怎么分配的?
答:集群的堆栈分配需要进行压力测试,这一块由测试人员确定
hivesql和什么sql比较相似? 说oracle,然后被打脸了  貌似mysql?
答:你应该说hive sql和标准sql相似,hive的sql 解析器其实使用的就是标准的sql解析器
怎么解决HDFS上的海量小文件问题?(生产端,存储端,消费端)
生产端:避免出现小文件,如果使用flume是可以做到避免小文件
存储端:进行小文件合并,使用归档,防止小文件多导致元数据元数据太多
消费端:生产端和存储端注意了,消费端就不会出现小文件过多的情况

24 个回复

倒序浏览
多多学习,多多了解,多方面研究
回复 举报
yiyuruo 发表于 2019-2-26 12:39
多多学习,多多了解,多方面研究

回复 举报
学习一下》!~
回复 举报

又看到爱学习的你啦
回复 举报
哒哒哒哒哒哒多多多多多多多多多多多多
回复 举报
看看,学习
回复 举报
回复 举报
想要看隐藏内容
回复 举报
多多学习,多多了解,多方面研究
回复 举报
回复 举报
aaaa我来蹭资源
回复 举报
zhj1 初级黑马 2019-5-28 10:58:36
13#
wqrwrrghfhfhfh
回复 举报
回复 举报
谢谢楼主分享
回复 举报
学习一下
回复 举报
good  nice  to meet you
回复 举报
好好学习
回复 举报
6666666666666666666666666666
回复 举报
常见面试题的解答
回复 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马