栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

《大数据技术体系详解》问题积累(持续更新)

《大数据技术体系详解》问题积累(持续更新)

文章目录
  • 一.数据收集
    • 1.关系型数据收集Sqoop
    • 2.非关系型数据收集Flume
    • 3.消息队列Kafka
  • 二.数据存储
  • 三.协调与资源管理
  • 四.计算引擎
  • 五.数据分析
    • 1.Hive
    • 2.Spark SQL

一.数据收集 1.关系型数据收集Sqoop
  • sqoop:全量收集。
    sqoop2和sqoop1的比较,就是将以前的CLI变为Server,然后再实现一个轻量级的CLI,可通过命令行或者HTTP来访问Server。就是把以前的CLI部署到了云端,现在的CLI只需要发送命令就行了。

sqoop提交的就是一个只有map的MR程序。
从mysql导入到hive,数据顺序乱了,因为并行度大于1,设置一个map处理就好了。

  • canal:增量收集。
    通过解析mysql的binlog,来得到增量的数据。

还没解决的问题:
1.sqoop的容错性,是和MR有关的,后面再仔细看下MR。
2.解析mysql的binlog,怎么就得到了增量的数据呢?解析后的不是只是操作记录么。

2.非关系型数据收集Flume

通过事务来确保event传输的可靠性
通过多个sink来确保容错性

a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = failover
a1.sinkgroups.g1.processor.priority.k1 = 5
a1.sinkgroups.g1.processor.priority.k2 = 10

通过多个sink来进行负载均衡

a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true
a1.sinkgroups.g1.processor.selector = random

Taildir Source:结果会显示偏移量,用来记录消费到的位子,就算Flume挂了,依然有数据进入文件,Flume重启后依然会从挂了的偏移量开始消费。不会丢失数据。

还没解决的问题:
1.Flume的put和take两个事务有点模糊,还未真正搞明白,需要看源码。
2.Flume客户端SDK自定义数据源,通过Avro和Thrift这些RPC调用。

3.消息队列Kafka 二.数据存储 三.协调与资源管理 四.计算引擎 五.数据分析 1.Hive

Hive-cli与Beeline的区别:

  • CliDriver是SQL本地直接编译,然后访问metaStore,提交作业,是重客户端。
  • BeeLine是把SQL提交给HiveServer2,由HiveServer2编译,然后访问metaStore,提交作业,是轻客户端。
  • beeline有权限控制而hivecli没有,因为hivecli读取元数据绕过了HiveServer2直接从metaserver访问元数据,而beeline通过HiveServer2的管控,实现其多用户的权限控制。
    以前cli可直接访问metaStore,但是JDBC需要经过thrift server。
    现在BeeLine和JDBC都需要经过hiveserver2。

hiveserver2 和beeline_Hive-cli与Beeline的区别
hive的执行流程
HiveServer2 架构源码详解

还没解决的问题:
1.thrift还需要研究下。

2.Spark SQL
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389071.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号