大数据相关知识入门
来源:互联网 发布:隆多臂展体测数据 编辑:程序博客网 时间:2024/05/20 05:06
大数据相关入门的介绍:
在后台常用到数据的加工合并连接等操作形成新的表,里面会对应你想要的数据(维度等信息),在前台可以使用,一个月内的情况,近7天得情况等统计分析 1.最初你可能想通过web端用Java写计算公式得出结果(会发现很慢)---》2.后期你方发现直接写一些脚本(linux或者oracle等等各种形式的脚本,让他定时执行或调用存在表中,前端的系统直接取结果(基本是正确的思想,但是发现数据量太大,计算总是差强人意的,也许承受不住压力或者时间太长,多几个请求就完蛋了)-----》3.接着就是分布式的出现----》4.最后就是Hadoop的出现,Hadoop不仅能分布式、扩容、对机器的要求低,容错等等机制完美的解决了最初的需求,后来发现不行我想实时的出现结果,例如某个人的触发了某个操作,我要立刻处理,而不要等到第二天,又或者我浏览了某些商品,新闻,某类音乐,能立刻有相关的推荐等--》解决这种情景就需要实时处理(storm),或者微批处理(spark Streaming)关于数据的采集:
所有我们认为存储在数据库里面的数据,结构其实最终都是以文件的形式存储的
Spark和Hadoop的所有计算都是基于hdfs(存储数据文件)计算的,同样所有要进行处理的数据文件最终都要导入到hdfs文件中(相当于统一货币,统一处理格式),那么统一的过程就涉及到 数据在哪的问题!
如果数据存储在文件中的例如log日志,可以读取相关的文件形成hdfs的文件,读取的过程又有可能是远程的,你可以cp的形式拷贝,但是可能出现卡机等一切意外,导致文件的丢失,另外多长时间拷贝一次,文件过大等问题,其实文件的读取flum可以做实时读取(分布式,扩容,容错,实时),还有其他的方式。
如果数据存储在数据库中可以通过sqoop等相关的插件将数据转换成hive或者hbase识别的数据形式存储在hdfs,再进行操作。
关于数据的操作:
直接操作文件,spark和hadoop都能直接操作,按行读取做操作,再结合一下算法(例如最常见的推荐算法,就用到矩阵的点乘等)
也可以以数据命令的形式做操作,例如hive他就是设置读取hdfs文件的形式,将读取的格式保存起来(叫表结构),数据存在hdfs但是我有了读取hdfs文件的方式(表结构),那么就可以以类似的sql的命令来操作hdfs的文件了,你可以建新表、连接、增删改查等操作,所有的操作都是有强大的hadoop等做支持是很快的。
关于数据的存储:
数据操作完了,你可以存储成文件,或者存储在前端先要用的数据库中(hbase,mysql,oracle,ES等等),sqoop(转换工具,可以对接各种数据库,将数据读到非关系型数据库存在hdfs中,也可以将hdfs的数据读到各种关系型数据库)
数据存储完,前端使用就可以了。根据不用的场景使用批处理或者实时处理。
各个插件都是干嘛的?
1. Hadoop
用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。
设计核心: Mapreduce编程模型(提供了对数据的计算),HDFS分布式文件存储(提供了海量数据的存储。多备份),与YARN。
YARN:资源管理系统,包含一个全局的资源调度器ResourceManager和每个应用程序特有的应用程序管理器ApplicationMaster
2. Spark&storm
3. Hive
Hive是构建在Hadoop上的数据仓库平台,设计目标是可以用传统SQL操作Hadoop上的数据,数据存储在hdfs上,利用Hadoop MapReduce来处理hive的命令,类似mysql和oracle等关系型数据库的操作方式
4. Hbase
高可靠、高性能、面向列、可伸缩的分布式存储系统,数据存储在hdfs上,利用Hadoop MapReduce来处理HBase中的海量数据
特点:大,面向列,稀疏(空列不占用空间),操作不像hive,但支持shell命令的形式以及Javaapi,支持的查询比较简单
但是支持大数据量高并发操作
5. Sqoop
Sqoop是数据库ETL工具,用于将关系型数据库的数据导入到 Hadoop 及其相关的系统中,如 Hive和HBase。Sqoop 的核心设计思想是利用MapReduce 加快数据传输速度,也就是说 Sqoop 的导入和导出功能是通过 MapReduce 作业实现的,所以它是一种批处理方式进行数据传输,难以实现实时数据的导入和导出。
6. Sparksql
7. Sparkstreaming
8. Flume
Flume是高可用的,高可靠的,分布式的海量日志采集、 聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。(传输的方向都是通过配置文件设置)
Flume就是一个数据管道,支持很多源(source),channel,sink(目标)
9. Kafka
分布式发布订阅消息系统,我的理解就是可以存储消息的仓库减轻传递和接收方的压力
Broker:存储消息的地方
Topic:相当于消息的类别存储在broker 举一个不太恰当的例子,如果broker相当于map 那么topic相当于key,而实际的消息相当于value
Partition:Partition是物理上的概念,每个Topic包含一个或多个Partition.
Producer:负责发布消息到Kafka broker,必然是需要指定主题的
Consumer:消息消费者,向Kafka broker读取消息的客户端。同样需要指定需要哪个主题
Consumer Group:每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。
10. zookeeper
高可用、高性能且一致的开源协调服务,分布式的,开放源码的分布式应用程序协调服务
ZooKeeper的基本运转流程:1、选举Leader。2、同步数据。3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。4、Leader要具有最高的执行ID,类似root权限。5、集群中大多数的机器得到响应并接受选出的Leader。为了保证容错性,某个主节点挂掉,能快速恢复管理的机制。11. 最主要的后台测试工具postMan
- 大数据相关知识入门
- 大数据的相关知识
- 大数据与计算机体系结构相关知识
- 大数据的一些相关知识介绍
- 大数据学习笔记之三十五 NoSQL相关知识
- 大数据学习笔记之三十六 NewSQL相关知识
- JDBC处理大数据、大文本、二进制数据、批处理相关知识
- 数据迁移相关知识
- 元数据相关知识
- 大数据知识体系
- 大数据知识总结
- 大数据知识体系
- 大数据知识体系
- Java入门的相关知识
- 计算机相关知识快速入门
- scala入门及相关知识
- Androd入门知识大总结
- 大数据相关
- bug注意点
- scala 中的val 、 var 、def
- 介绍和安装 zookeeper
- SQL中的case when then else end用法
- Selenium入门记录_002_通过网页元素选取和操作实现登录操作
- 大数据相关知识入门
- ClassNotFoundException: org.hibernate.cache.access.AccessType
- vs2012 安装 InstallShield
- 在阿里云centos中安装jdk1.8
- oracle用户创建及权限设置
- phonegame.sh
- sshfs把远程主机的文件系统映射到本地的目录中
- 谷歌AdMob广告接入——最白话,手把手教你做系列。
- (112)序列化