Skip to content

wangxujin1221/BigDataGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

BigDataGuide

查询/搜索/分析引擎

  • 深入理解Presto

  • Impala

    实时SQL查询引擎Impala可以直接从HDFS或HBase中用SELECT、JOIN和统计函数查询数据,在众多大数据框架中,Impala定位类似Hive,不过Impala更关注即席查询SQL的快速解析,对于执行时间过长的SQL,仍旧是Hive更合适。对于GroupBy等SQL查询,Impala进行的是内存计算,因而Impala对机器配置要求较高,官方建议内存128G以上,此类问题Hive底层对应的是传统的MapReduce计算框架,虽然执行效率低,但是稳定性好,对机器配置要求也低。Impala本身不提供数据的存储服务,其底层数据可来自HDFS、Kudu、Hbase甚至亚马逊S3。

    impala和kudu集成:https://blog.csdn.net/qq_35741557/article/details/82690607

  • Pig

    是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。

  • ElasticSearch

  • Solr

  • apache lucence

流程调度

  • Yarn

    构建与hadoop之上的资源管理和job调度框架。yarn负责给运行在hadoop上的任务分配资源,以及设置任务运行的节点。

  • Oozie

  • Dolphin Schedule https://dolphinscheduler.apache.org/

  • Azkaban

文件系统

  • HDFS
  • S3
  • NFS

数据库/数据仓库/数据湖

计算框架

  • Spark

  • Flume

    是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。

  • Storm

  • Flink

  • MapReduce

配置管理

  • Apollo

    分布式配置中心

  • 服务发现机制SPI(Service Provider Interface) https://www.jianshu.com/p/3a3edbcd8f24

  • Swagger https://www.jianshu.com/p/349e130e40d5

    Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

    • 支持 API 自动生成同步的在线文档
    • 提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口

RPC和序列化

文件格式

权限管理

重要算法

  • Raft协议

    https://juejin.cn/post/6907151199141625870

    http://thesecretlivesofdata.com/raft/ 动画演示

  • ZAB协议

  • Paxos协议

  • Work Stealing算法

    java并发中使用的Fork/Join框架中使用到了这种算法。Work-Stealing 的适用场景是不同的任务的耗时相差比较大,即某些任务需要运行较长时间,而某些任务会很快的运行完成,这种情况下用 Work-Stealing 很合适;但是如果任务的耗时很平均,则此时 Work-Stealing 并不适合,因为窃取任务时不同线程需要抢占锁,这可能会造成额外的时间消耗,而且每个线程维护双端队列也会造成更大的内存消耗。所以 ForkJoinPool 并不是 ThreadPoolExecutor 的替代品,而是作为对 ThreadPoolExecutor 的补充。

    https://segmentfault.com/a/1190000008140126

    https://www.baeldung.com/java-work-stealing

名词概念

其它

其它组件

  • Netty

    Netty就是基于Java NIO技术封装的一套框架。为什么要封装,因为原生的Java NIO使用起来没那么方便,而且还有臭名昭著的bug,Netty把它封装之后,提供了一个易于操作的使用模式和接口,用户使用起来也就便捷多了

  • Sqoop

    是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

  • **ODPS(MaxCompute) **https://help.aliyun.com/document_detail/27800.html

    开发数据处理服务(Open Data Processing Service,简称ODPS),2016年后更名MaxComputer。ODPS是一种由阿里云自主研发,针对TB/PB级数据、实时性要求不高的分布式处理服务。主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。

  • Apache Knox Gateway

    是用于与Apache Hadoop部署的RESTAPI和UI交互的应用程序网关。Knox Gateway为与Apache Hadoop集群的所有REST和HTTP交互提供一个单一的访问点。KNOX提供三组面向用户的服务:

    代理服务:Apache Knox项目的主要目标是通过代理HTTP资源提供对Apache Hadoop的访问。

    认证服务:对USTAPI访问以及UIS的WebSSO流进行身份验证。LDAP/AD,基于头的PROAUTH,Kerberos,SAML,OAUTH都是可用的选项。

    客户服务:可以通过DSL编写脚本或直接将Knox Shell类作为SDK来完成客户端开发。

  • Apache NiFi

    Apache NiFi 可在不同的数据源和系统之间自动移动数据,从而使数据摄取快速、轻松。Apache NiFi 是一个集成的数据物流平台,用于自动化不同系统之间的数据移动。它提供实时控制,可以轻松管理任何来源和任何目的地之间的数据移动。

  • Apache HttpComponents http://hc.apache.org/index.html

    基于http和相关协议创建和维护的基于java的工具集

About

大数据技术组件汇总

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors