大数据分析应该掌握哪些基础知识呢

大数据分析应该掌握哪些基础知识呢,第1张

前言,学大数据要先换电脑:

保证电脑4核8G内存64位 *** 作系统,尽量有ssd做系统盘,否则卡到你丧失信心。硬盘越大越好。

1,语言要求

java刚入门的时候要求javase。

scala是学习spark要用的基本使用即可。

后期深入要求:

java NIO,netty,多线程,ClassLoader,jvm底层及调优等,rpc。

2, *** 作系统要求

linux 基本的shell脚本的使用。

crontab的使用,最多。

cpu,内存,网络,磁盘等瓶颈分析及状态查看的工具。

scp,ssh,hosts的配置使用。

telnet,ping等网络排查命令的使用

3,sql基本使用

sql是基础,hive,sparksql等都需要用到,况且大部分企业也还是以数据仓库为中心,少不了sql。

sql统计,排序,join,group等,然后就是sql语句调优,表设计等。

4,大数据基本了解

Zookeeper,hadoop,hbase,hive,sqoop,flume,kafka,spark,storm等这些框架的作用及基本环境的搭建,要熟练,要会运维,瓶颈分析。

5,mapreduce及相关框架hive,sqoop

深入了解mapreduce的核心思想。尤其是shuffle,join,文件输入格式,map数目,reduce数目,调优等。

6,hive和hbase等仓库

hive和hbase基本是大数据仓库的标配。要回用,懂调优,故障排查。

hbase看浪尖hbase系列文章。hive后期更新。

7,消息队列的使用

kafka基本概念,使用,瓶颈分析。看浪尖kafka系列文章。

8,实时处理系统

storm和spark Streaming

9,spark core和sparksql

spark用于离线分析的两个重要功能。

10,最终方向决策

a),运维。(精通整套系统及故障排查,会写运维脚本啥的。)

b),数据分析。(算法精通)

c),平台开发。(源码精通)

自学还是培训?

无基础的同学,培训之前先搞到视频通学一遍,防止盲目培训跟不上讲师节奏,浪费时间,精力,金钱。

有基础的尽量搞点视频学基础,然后跟群里大牛交流,前提是人家愿意,

想办法跟大牛做朋友才是王道。

大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、数据库、数据仓库、机器学习、并行计算、可视化等。

1、数据采集与预处理:FlumeNG实时日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据;Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,提供数据同步服务。

2、数据存储:Hadoop作为一个开源的框架,专为离线和大规模数据分析而设计,HDFS作为其核心的存储引擎,已被广泛用于数据存储。HBase,是一个分布式的、面向列的开源数据库,可以认为是hdfs的封装,本质是数据存储、NoSQL数据库。

3、数据清洗:MapReduce作为Hadoop的查询引擎,用于大规模数据集的并行计算。

4、数据查询分析:Hive的核心工作就是把SQL语句翻译成MR程序,可以将结构化的数据映射为一张数据库表,并提供HQL(HiveSQL)查询功能。Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

5、数据可视化:对接一些BI平台,将分析得到的数据进行可视化,用于指导决策服务。

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1 OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2 MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

function:

∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

∘ 也可以设置为 processlist,代表监控 show processlist 的输出;

variable:

∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

threshold:

∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

cycles:

∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

retention-time :监控数据保留时长,默认 30 天。

daemonize:以后台服务运行,默认不开启。

log:后台运行日志,默认为 /var/log/pt-stalklog。

collect:触发发生时收集诊断数据,默认开启。

∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

∘ collect-strace:收集跟踪数据,需要 strace 工具。

∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。

公司目前有2套独立运作的系统,

1提供给集团公司内部使用的服务器系统。主要系统有mes、erp、pdm、oa等。还有一些其他的应用服务器。对一些不是很重要的系统,平时就是数据库自动备份,然后定期人工拷贝数据保存。对重要的服务器mes、erp oa我们使用双机热备。主机及备机用心跳线连接,采用数据同步软件同步数据。当一台服务器出现问题时,备机马上检测到,可以接管运用。一般来说5分钟左右能恢复。

2提供给客户使用的服务器系统。公司数据中心采用的是云平台技术。所有网络设备都是2套,包括交换机、负载均衡、备份设备等。服务器采用云加密技术。下面划分了很多小的服务端供客户使用。当一个服务端硬件或者软件出现问题会自动无缝切换。不会影响客户端使用。

目前就这三种方式,对一般小公司来说,日常数据备份可用数据库自动备份加人工方式。大一点的公司可采用热备方式。最后一种一般业务量很大的公司可用。

公司文件备份我们使用的是iMonitor EAM 软件,只需要一台存储空间大的windows电脑作为服务器,安装上IMonitor EAM主控端,在员工电脑上安装被控端。在主控端开启自动备份,自行设置需要备份的文件类型,之后客户端电脑的文件会自动上传到服务器,不会影响员工的正常工作。查看文件可以通过关键字进行搜索。

数据库mysql通过canal将binlog通过kafka发送,多个消费者将数据写入不同的备库中。

系统级通过snapper定时进行系统快照

重要系统通过raid 1 保障

不过目前docker话之后,服务都是无状态,系统级备份越来越少了

我们单位在这方面做的非常好,非常重视数据备份工作。重要的技术部门使用专门的一块硬盘备份重要技术数据和图纸,为了防止硬盘损坏,特意准备了两块,互相备份。而这两块硬盘为了保密,一直放在技术部部长手里。至于IT的专业方案,滚球。老子是国企,非专业IT人员不懂的IT方案一律不上

我们公司内部也是使用云盒子企业云盘的,所以在部署的时候,采用的是云盒子自主研发的双子星架构具备负载均衡、高并发、高冗余特性,能有效地避免单点故障,而存储采用双副本提供冗余。能够减少不必要的性能损耗以及维护成本上的支出。测试数据表明,双子星架构比普通双节点三副本架构更安全、速度更快、更稳定、更容易维护。

在服务器中就有两份一模一样的数据,如果还想要继续备份,建议使用异机备份,按照月、日、时的频次来定时备份。

备份能够防止数据被攻击、误删造成的数据丢失。

Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它是一整套包括了etl、调度、建模在内的完整的理论体系。数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(on-line Analytical Processing),支持复杂的分析 *** 作,侧重决策支持,听且提供直观易懂的查询结果。比较流行的有:AWS Redshift,Greenplum,Hive等。

12主要特点

面向主题:

*** 作型数据库组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。

主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通过与多个 *** 作型信息系统相关。

集成

需要对源数据进行加工与融合,统一与综合

在加工的过程中必须消除源数据的不一致性,以保证数据仓库内的信息时关于整个企业的一致的全局信息。(关联关系)

不可修改

DW中的数据并不是最新的,而是来源于其他数据源

数据仓库主要是为决策分析提供数据,涉及的 *** 作主要是数据的查询

与时间相关

处于决策的需要数据仓库中的数据都需要标明时间属性

13与数据库的对比

DW:专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋势

数据库:用于捕获和存储数据

特性 数据仓库 事务数据库

适合的工作负载 分析、报告、大数据 事务处理

数据源 从多个来源收集和标准化的数据 从单个来源(例如事务系统)捕获的数据

数据捕获 批量写入 *** 作通过按照预定的批处理计划执行 针对连续写入 *** 作进行了优化,因为新数据能够最大程度地提高事务吞吐量

数据标准化 非标准化schema,例如星型Schema或雪花型schema 高度标准化的静态schema

数据存储 使用列式存储进行了优化,可实现轻松访问和高速查询性能 针对在单行型物理块中执行高吞吐量写入 *** 作进行了优化

数据访问 为最小化I/O并最大化数据吞吐量进行了优化 大量小型读取 *** 作

2数据分层

数据分层,每个企业根据自己的业务需求可以分成不同的层次,但是最基础的分层思想,理论上数据分为三个层:数据运营层、数据仓库层、数据服务层。基于这个基础分层之上,再提交信息的层次,来满足不同的业务需求。

21数据运营层(ODS)

ODS:Operation Data Store 数据准备区,也称为贴源层。数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,是后续数据仓库加工数据的来源。

ODS层数据的来源方式:

业务库

经常会使用sqoop来抽取,例如每天定时抽取一次。

实时方面,可以考虑用canal监听mysql的binlog,实时接入即可。

埋点日志

日志一般以文件的形式保存,可以选择用flume定时同步

可以用spark streaming或者Flink来实时接入

kafka也OK

消息队列:即来自ActiveMQ、Kafka的数据等。

22数据仓库层(DW)

DW数据分层,由下到上为DWD,DWB,DWS。

DWD:data warehouse details 细节数据层,是业务层与数据仓库的隔离层。主要对ODS数据层做一些数据清洗和规范化的 *** 作。

数据清洗:去除空值、脏数据、超过极限范围的

DWB:data warehouse base 数据基础层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。

DWS:data warehouse service 数据服务层,基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据层,一般是宽表。用于提供后续的业务查询,OLAP分析,数据分发等。

用户行为,轻度聚合

主要对ODS/DWD层数据做一些轻度的汇总。

23数据服务层/应用层(ADS)

ADS:applicationData Service应用数据服务,该层主要是提供数据产品和数据分析使用的数据,一般会存储在ES、mysql等系统中供线上系统使用。

我们通过说的报表数据,或者说那种大宽表,一般就放在这里

系统工程部:生产测试设备的开发,包括ICT,FCT,ATE,功能测试,专用测试设备等,管理和领导测试工程组

岗位职责:

1、策划和管理测试工程组的工作;

2、参与产品可测试性设计评审,从测试设备设计的角度考虑给出合理建议;

3、测试设备或系统设计方案制定与审核;

4、组织测试设备开发,外包,验收;

5、解决生产中的产品测试技术问题。

任职要求:

1、电子、通信、测控技术与仪器类专业,本科毕业;

2、熟悉电子类产品测试设备软硬件开发,熟悉音视频信号检测分析电路;

3、4年以上自动测试开发经验;

4、熟练掌握Labview程序设计,熟悉NI数据采集卡,GPIB仪器控制,RS232通讯等;

5、熟悉数据库,熟悉生产MES系统;

6、有较好的沟通表达能力。

产品开发部:

职责描述: 1、搭建项目系统框架及开发; 2、负责数据同步相关产品的功能模块设计; 3、负责软件系统代码的实现,编写代码注释和开发文档; 4、负责所开发模块的单元测试及产品回归测试; 5、解决产品开发中的关键技术问题,并具有一定的新技术探索能力; 任职资格: 1、3年以上数据库行业经验,对数据同步有深入认识; 2、3年以上编码经验,熟悉项目开发流程,有大型软件开发经历; 3、熟悉常用数据库、Linux *** 作; 4、有Linux、后台服务程序开发经验优先; 5、沟通能力强。 6、有 OGG、dataX、flink、Canal 等数据同步类似软件开发经验优先

Java基础语法

· 分支结构if/switch

· 循环结构for/while/do while

· 方法声明和调用

· 方法重载

· 数组的使用

· 命令行参数、可变参数

IDEA

· IDEA常用设置、常用快捷键

· 自定义模板

· 关联Tomcat

· Web项目案例实 ***

面向对象编程

· 封装、继承、多态、构造器、包

· 异常处理机制

· 抽象类、接口、内部类

· 常有基础API、集合List/Set/Map

· 泛型、线程的创建和启动

· 深入集合源码分析、常见数据结构解析

· 线程的安全、同步和通信、IO流体系

· 反射、类的加载机制、网络编程

Java8/9/10/11

新特性

· Lambda表达式、方法引用

· 构造器引用、StreamAPI

· jShell(JShell)命令

· 接口的私有方法、Optional加强

· 局部变量的类型推断

· 更简化的编译运行程序等

MySQL

· DML语言、DDL语言、DCL语言

· 分组查询、Join查询、子查询、Union查询、函数

· 流程控制语句、事务的特点、事务的隔离级别等

JDBC

· 使用JDBC完成数据库增删改查 *** 作

· 批处理的 *** 作

· 数据库连接池的原理及应用

· 常见数据库连接池C3P0、DBCP、Druid等

Maven

· Maven环境搭建

· 本地仓库&中央仓库

· 创建Web工程

· 自动部署

· 持续继承

· 持续部署

Linux

· VI/VIM编辑器

· 系统管理 *** 作&远程登录

· 常用命令

· 软件包管理&企业真题

Shell编程

· 自定义变量与特殊变量

· 运算符

· 条件判断

· 流程控制

· 系统函数&自定义函数

· 常用工具命令

· 面试真题

Hadoop

· Hadoop生态介绍

· Hadoop运行模式

· 源码编译

· HDFS文件系统底层详解

· DN&NN工作机制

· HDFS的API *** 作

· MapReduce框架原理

· 数据压缩

· Yarn工作机制

· MapReduce案例详解

· Hadoop参数调优

· HDFS存储多目录

· 多磁盘数据均衡

· LZO压缩

· Hadoop基准测试

Zookeeper

· Zookeeper数据结果

· 内部原理

· 选举机制

· Stat结构体

· 监听器

· 分布式安装部署

· API *** 作

· 实战案例

· 面试真题

· 启动停止脚本

HA+新特性

· HDFS-HA集群配置

Hive

· Hive架构原理

· 安装部署

· 远程连接

· 常见命令及基本数据类型

· DML数据 *** 作

· 查询语句

· Join&排序

· 分桶&函数

· 压缩&存储

· 企业级调优

· 实战案例

· 面试真题

Flume

· Flume架构

· Agent内部原理

· 事务

· 安装部署

· 实战案例

· 自定义Source

· 自定义Sink

· Ganglia监控

Kafka

· 消息队列

· Kafka架构

· 集群部署

· 命令行 *** 作

· 工作流程分析

· 分区分配策略

· 数据写入流程

· 存储策略

· 高阶API

· 低级API

· 拦截器

· 监控

· 高可靠性存储

· 数据可靠性和持久性保证

· ISR机制

· Kafka压测

· 机器数量计算

· 分区数计算

· 启动停止脚本

DataX

· 安装

· 原理

· 数据一致性

· 空值处理

· LZO压缩处理

Scala

· Scala基础入门

· 函数式编程

· 数据结构

· 面向对象编程

· 模式匹配

· 高阶函数

· 特质

· 注解&类型参数

· 隐式转换

· 高级类型

· 案例实 ***

Spark Core

· 安装部署

· RDD概述

· 编程模型

· 持久化&检查点机制

· DAG

· 算子详解

· RDD编程进阶

· 累加器&广播变量

Spark SQL

· SparkSQL

· DataFrame

· DataSet

· 自定义UDF&UDAF函数

Spark Streaming

· SparkStreaming

· 背压机制原理

· Receiver和Direct模式原理

· Window原理及案例实 ***

· 7x24 不间断运行&性能考量

Spark内核&优化

· 内核源码详解

· 优化详解

Hbase

· Hbase原理及架构

· 数据读写流程

· API使用

· 与Hive和Sqoop集成

· 企业级调优

Presto

· Presto的安装部署

· 使用Presto执行数仓项目的即席查询模块

Ranger20

· 权限管理工具Ranger的安装和使用

Azkaban30

· 任务调度工具Azkaban30的安装部署

· 使用Azkaban进行项目任务调度,实现电话邮件报警

Kylin30

· Kylin的安装部署

· Kylin核心思想

· 使用Kylin对接数据源构建模型

Atlas20

· 元数据管理工具Atlas的安装部署

Zabbix

· 集群监控工具Zabbix的安装部署

DolphinScheduler

· 任务调度工具DolphinScheduler的安装部署

· 实现数仓项目任务的自动化调度、配置邮件报警

Superset

· 使用SuperSet对数仓项目的计算结果进行可视化展示

Echarts

· 使用Echarts对数仓项目的计算结果进行可视化展示

Redis

· Redis安装部署

· 五大数据类型

· 总体配置

· 持久化

· 事务

· 发布订阅

· 主从复制

Canal

· 使用Canal实时监控MySQL数据变化采集至实时项目

Flink

· 运行时架构

· 数据源Source

· Window API

· Water Mark

· 状态编程

· CEP复杂事件处理

Flink SQL

· Flink SQL和Table API详细解读

Flink 内核

· Flink内核源码讲解

· 经典面试题讲解

Git&GitHub

· 安装配置

· 本地库搭建

· 基本 *** 作

· 工作流

· 集中式

ClickHouse

· ClickHouse的安装部署

· 读写机制

· 数据类型

· 执行引擎

DataV

· 使用DataV对实时项目需求计算结果进行可视化展示

sugar

· 结合Springboot对接百度sugar实现数据可视化大屏展示

Maxwell

· 使用Maxwell实时监控MySQL数据变化采集至实时项目

ElasticSearch

· ElasticSearch索引基本 *** 作、案例实 ***

Kibana

· 通过Kibana配置可视化分析

Springboot

· 利用Springboot开发可视化接口程序

以上就是关于大数据分析应该掌握哪些基础知识呢全部的内容,包括:大数据分析应该掌握哪些基础知识呢、大数据核心技术有哪些、如何实现监控mysql,并将有变动的数据表写入指定的文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9323997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存