如今,大数据的发展已经越来越成熟。无论是大型互联网公司还是小型创业公司,大数据都是可以看到的。所以,学习大数据必须掌握哪些核心技术?
一起看吧!
01 数据采集与预处理
数据采集就是将这些来自各种来源的数据,包括移动互联网数据、社交网络数据等,写入数据仓库,将分散的数据整合在一起,对这些数据进行综合分析。
水道
作为一个实时日志采集系统,NG支持在日志系统中定制各种数据发送器来采集数据,同时简单处理数据并写入各种数据接收器(如text、HDFS、Hbase等)。).
网易数据运河NDC,直译为网易数据运河系统,是网易面向结构化数据库的实时数据迁移、同步和订阅的平台解决方案。
Logstash是一个开源的服务器端数据处理管道,可以同时从多个来源收集和转换数据,然后将数据发送到您最喜欢的“存储库”。
在关系数据库和Hadoop之间传输数据的工具Sqoop可以将关系数据库(如Mysql和Oracle)中的数据导入Hadoop(如HDFS、Hive和Hbase),也可以将Hadoop(如HDFS、Hive和Hbase)中的数据导入关系数据库(如Mysql和Oracle)。
Strom集群结构是由一个主节点(nimbus)和多个工作节点(supervisors)组成的主从结构。主节点是在运行时静态分配或动态选择的。nimbus和supervisor是Storm提供的后台守护程序,它们之间的通信是结合Zookeeper的状态变化通知和监控通知来处理的。
Zookeeper是一个分布式、开源的分布式应用协调服务,提供数据同步服务。
02 数据存储
Hadoop是一个为离线和大规模数据分析而设计的开源框架。HDFS作为其核心存储引擎,已被广泛用于数据存储。
HBase是一个分布式、面向列的开源数据库,可以看作是hdfs的封装,其本质是数据存储和NoSQL数据库。
Phoenix相当于一个Java中间件,帮助开发工程师访问NoSQL数据库,就像使用JDBC访问关系数据库一样。
纱线是一个Hadoop资源管理器,可以为上层应用提供统一的资源管理和调度。它的引入在利用率、统一资源管理和数据共享方面给集群带来了巨大的好处。
Mesos是一款开源的集群管理软件,支持Hadoop、ElasticSearch、Spark、Storm、Kafka等应用架构。
Redis是一个速度非常快的非关系数据库,可以存储键与五种不同类型的值之间的映射,将内存中存储的键值对的数据持久化到硬盘上,利用复制特性来扩展性能,利用客户端分片来扩展写入性能。
Atlas是介于应用程序和MySQL之间的中间件。
Kudu是围绕Hadoop生态系统构建的存储引擎。Kudu与Hadoop生态系统有着相同的设计理念。它运行在普通服务器上,可分布式大规模部署,满足行业高可用性要求。
03 数据清洗
MapReduce作为Hadoop的查询引擎,用于大规模数据集的并行计算,“Map”和“Reduce”是其主要思路。它极大地方便了程序员在分布式系统中运行自己的程序,而无需分布式并行编程。
随着业务数据的增加,需要训练和清理的数据会越来越复杂。此时,需要一个任务调度系统,如oozie或azkaban,来调度和监控关键任务。
04 数据查询分析
Hive的核心工作是将SQL语句翻译成MR程序,可以将结构化数据映射成数据库表,并提供HQL(Hive SQL)查询功能。
Hive的诞生是为了大数据的批量处理,Hive的出现解决了传统关系数据库(MySql、Oracle)在大数据处理方面的瓶颈。
Impala是Hive的补充,可以实现高效的SQL查询。使用Impala在Hadoop上实现SQL,对大数据进行实时查询分析。
Spark具有Hadoop MapReduce的特点,将Job的中间输出结果保存在内存中,因此不需要读取HDFS。火花
启用内存分配数据集,不仅可以提供交互式查询,还可以优化迭代工作负载。
Nutch是一个由开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的所有工具,包括全文搜索和网络爬虫。
Solr是一个用Java编写的全文搜索服务器,运行在Servlet容器(如Apache Tomcat或Jetty)中,是一个独立的企业级搜索应用。
Elasticsearch是一个开源全文搜索引擎。基于Lucene的搜索服务器可以快速存储、搜索和分析海量数据。
05 数据可视化
连接一些BI平台,将分析得到的数据可视化,指导决策服务。主流的BI平台,比如国外的敏捷BI。
Tableau、Qlikview、PowrerBI等。国内有几家SmallBI和新兴的网易等。
大数据技术的体系庞大而复杂,每年都会涌现出大量的新技术。目前,大数据行业涉及的核心技术主要有数据采集、数据存储、数据清洗、数据查询分析和数据可视化。