我的编程空间,编程开发者的网络收藏夹
学习永远不晚

​能处理大数据的技术有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

​能处理大数据的技术有哪些

小编给大家分享一下能处理大数据的技术有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

能处理大数据的技术:

Hadoop离线计算  spark实时计算  strom流式计算

一、hadoop背景

Apache Hadoop 是一个可靠的,可扩展的分布式计算开发软件

Apache Hadoop 可以理解为一个框架. 它允许使用简单的编程模型来计算分布式的大型数据集合(海量数据)

包括哪些模块:

Hadoop Common : Hadoop的一些模块工具

Hadoop分布式文件系统(HDFS):是一种分布式文件系统,可以提供应用程序数据的高吞吐量的访问

Hadoop YARN:作业调度和集群资源管理的框架

Hadoop MapReduce:一种用于处理大型数据集的基于YARN的系统(分布式计算框架)

ps:MapReduce论计算能力 很一般而且数据慢

上述的每个模块都有自己独立的功能,而模块和模块之间又有一定的联系

二、

Hadoop在大数据,云计算中位置和关系

云计算是分布式计算,并行技术,网络计算,多核计算,网络存储,虚拟化,负载均衡等传统的计算机技术和互联网技术融合的一个产物

现阶段云计算的底层两大技术支撑"虚拟化"和"大数据技术"

而Hadoop则是云计算平台即服的解决方案

ps:laaS(基础设施即服务) PaaS(平台即服务) S aaS(软件即服务)

三、Hadoop案例:

大型网站web服务器的日志分析:一个大型网站的web服务器,每5分钟就收录的点击量就高达800GB,峰值点击可以达到每秒900万次每隔5分钟将数据装载到内存中,高速计算网站的热点url,并将这些信息反馈给前端缓存服务器,以提高缓存命中率

运营商流量分析:每天的流量数据在2TB-5TB之间,拷贝到HDFS上,通过交互式分析引擎模板,能够进行几百个复杂的数据清洗和报表任务,总时间类似的硬件配置的小集群(DB2)要快2-3倍

城市交通卡口视频监控信息实时分析:采用基于流式进行全省范围的交通卡口的视频监控的信息进行实时的分析,警告和统计,可以对全省范围内未年检和套牌车辆进行300毫秒左右就可以得到结论并实时进行警告

四、Hadoop生态圈

重要组件

HDFS:分布式文件系统

MapReduce:分布式计算框架

Hive:基于大数据技术的SQL数据仓库工具(文件系统+运算框架)

HBase:基于Hadoop的分布式海量数据数据库(NOSQL关系型数据库,列式存储)

Zookeeper:分布式协调服务基础组件

Oozie:工作流调度框架

Sqoop:数据导入导出工具

Flume:日志数据采集框架

Mahout:基于Mapreduce/Spark/flink等分布式框架的机器学习算法库

分布式系统

一、分布式软件系统

分布式软件系统是由一组通过网络进行通信,为了完成共同的任务而协调工作的计算机节点所组成的系统.  分布式系统的出现为了用廉价,普通的机器完成单个计算机完成的计算/存储等任务,其目的就是充分利用计算机来处理更多的任务

二、常用的分布式软件系统的案例:

Web服务器集群,单台服务器的性能和资源时优先,支持的连接并发数也是有上限,因此必须采用多态服务器集群的方式才能提供并发数据和计算机计算速度

每台web服务器会分配一个域名,肯定是同一个域名的进入的是同一个入口

百度有上千(甚至更多)台web服务器,此时我们使用www.baidu.com一个入口进行访问,至于哪台服务器提供我们服务,具体的就需要底层实现一个技术,负载均衡

离线数据的分析流程

web日志数据挖掘

案例分析:

网站点击流量日志数据挖掘系统

需求:

web点击流日志,包含着网站运营的重要信息,通过日志的分析,我们可以知道网站的访问量,那个网页访问人数的最多,那个网页最有价值,广告转换率,访客的来源信息,访客的终端信息

数据来源:

获取方式,在页面预处理一段js程序,为了页面想要坚挺的标签绑定时间,只要用户点击或触发,就可以得到用户的信息,并产生日志文件

数据处理流程:

数据采集:定制开发程序或使用Flume

数据预处理:定制开发MapReduce程序运行在Hadoop计算

数据仓库计算:基于Hadoop智商使用hive技术完成数仓 数仓中会完成数据清洗(ETL)

数据导出:需要使用sqoop将数据导出

数据可视化:就由web人员完成  ps:可以使用Oozie来辅助开发

HDFS分布式文件系统

HDFS的源于Google的一篇技术论文GFS,HDFS时GFS的一个克隆 HDFS全称 Hadoop Distributed /dɪ'strɪbjʊtɪd/(分布式) File System HDFS易于扩展的分布式文件系统,运行在大量普通廉价的机器上,提供内容错机制,为大量用户提供性能不错的文件 存取服务

HDFS的优点和缺点

优点:

高可靠性:Hadoop按位存储和处理数据的能力强

高扩展性:Hadoop是在可用的计算机集群中分配数据完成计算计算任务

高效性: Hadoop能够站在节点之间动态的移动数据,并保证每个节点的动态平衡

高容错性: Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配

缺点:

不适合低延迟访问

无法高效存储大量小文件

不支持多用户写入即任意修改文件

HDFS的重要特性

HDSF中文件在物理上是分块存储(block),块的大小可以通过参数(dfs.blocksize)来设置, 默认大小Hadoop2.x版本中默认大小128M , hadoop1.x版本即使64M

HDFS文件系统会给客户端提供一个统一的抽象目录树,通过客户端对相应路径下的文件进行访问

目录结构及文件的分块信息(元数据)都由NameNode节点承担 NameNode是HDFS集合中的主节点,负责维护整个HDFS文件系统的目录树,以及每一个路径所对应的Block块信息 (block是id以及所在DataNode服务器)

文件的各个block块存储的管理DataNode来节点进行管理 DataNode是HDFS集群的从节点,每一个Block都可以在多个DataNode上存储多个副本(副本数量是可以设置 dfs.replication)

HDSF在Hadoop中的存储模型

HDSF是面向文件, 文件会线性切割成块(Block) 每一个块都有一个偏移量offset(byte),偏移量是描述这个块是属于这个文件的那一个部分 一个大文切分成很多块,每 个块面临是这个文件的位置,也就是说每一个块的第一个字节对应着这个大文件某个位置的字 节,这个字节就是偏移量 Block分散存储到集群节点中 单一文件block的大小是一致的,也就是说一个大的文件,定义的每个块的大小是固定的,所有切出来的文件大小也是固定的.但若文件最后剩余大小和块的大小不一致,那么会按照块的大小占位,实际存储剩余文件的大小,也就是说在内存中开辟的空间是实际文件的大小Block可以设置的副本数,副本分散在不同的节点中,副本数不要超过节点的数量 副本相当于一个备份(拷贝),HDFS的默认副本数量是3,副本的额作用就是保证文件丢失的情况下,可以在其他节点中 得到同一个信息,所以绝对不能出现副本和块出现在同一个节点 文件上传的时候可以设置Block块的大小和副本的而数量,已经上传的block副本数可以调整,但是块的是不变,只支持 一写入 但是可以多次读取,若想追加数据只能在最后一个节点中添加

HDFS读写流程

hdfs读流程 :

client链接namenode,查看元数据,找到数据的存储位置。

client通过hdfs的api并发读取数据。

关闭连接。

hdfs写流程 :

client链接namenode存数据

namenode记录一条数据位置信息(元数据),告诉client存哪。

client用hdfs的api将数据块(默认是64M)存储到datanode上。

datanode将数据水平备份。并且备份完将反馈client。

client通知namenode存储块完毕。

namenode将元数据同步到内存中。

另一块循环上面的过程。  

HDFS文件系统存在读写权限

r --> read w --> writer x --> execute

--- | --- | --- 可以看成是一个八进制 1代表有权限 0代表没有权限

 rxw | r-- | -w- --> 数字的形式 111 | 100 | 010 ---> 742

HDFS的Shell命令:

ps:无论看到是hdfs dfs 形式还是 hadoop fs这种形式 都可以 完成对HDFS的操作

向HDSF上传文件

 put: 从本地文件系统赋值单个或多个原路径目标文件到HDFS文件系统中

hdfs dfs -put 本地文件路径 HDFS文件系统路径

将HDFS文件系统中的文件下载回来

get:从HDFS文件系统中将文件复制到本地文件系统中

hdfs dfs -get HDFS文件系统路径 本地文件系统路径

ps:HDFS有一个和put和get类似的而方法 copyFromlocal 相当于put 和 copyTolocal 相当于 get

查看HDFS文件系统中的文件内容

cat:查看HDFS文件系统中的文件内容

hdfs dfs -cat HDFS文件系统中文件的路径

ps:不要查看非文件 在查看文件的同时追加文件到本地路径

HDFS文件系统中进行复制操作

cp:将HDFS文件系统中的文件进行复制,复制到HDFS系统中

hdfs dfs -cp 源HDFS文件系统中的文件路径 目标HDFS文件系统中的路径

HDFS文件系统中的文件进行移动操作

mv:将源文件移动目标路径,这个命令可允许有多个源路径,此时目标路径必须是一个文件夹(目录) 不允许不同的文件系统互相移动文件

hdfs dfs -mv 源HDFS文件系统中的文件路径 目标HDFS文件系统中的路径

相当于剪切

查看HDFS文件系统中文件的大小

hdfs dfs -du HDFS文件系统中路径中的一个文件

在HDSF系统中创建文件夹

mkdir 创建文件夹

hdfs dfs -mkdir HDFS文件系统中的路径

查看HDFS文件系统下的所有文件

hdfs dfs -ls HDFS文件系统路径

删除HDFS文件系统中的目录或文件

ps:只能是单个文件 或 空目录

hdfs dfs -rm HDFS文件系统路径

若参数文件夹中有多个文件 加 -r hdfs dfs -rm -r HDFS文件系统路径

更改文件的权限

r可读 w可写 x可执行

--- | ---| --- 1代表有权 0代表没有权限 所有每三位可以作为一个八进制处理

例如 rwx | rwx | rwx

111 | 111 | 111

 =========================

7 7 7

hdfs dfs -chmod 权限值 HDFS文件系统路径

若需要更改目录下权限都需要修改

hdfs dfs -chmod -R 权限值 HDFS文件系统路径下的文件夹

ps:并且文件夹下的所有子文件和文件夹都会被修改

回收站

Hadoop回收站trash,默认是关闭的,建议开启

[]:

ps:默认为是没有权限操作回收站的,所以操作之前开启权限

 hdfs dfs -chmod -R 777 HDFS文件系统中回收站的路径

例子:hdfs dfs -chmod -R 777 /user 删除文件后,发现误删了,恢复文件

hdfs dfs -mv HDFS文件系统中回收站的路径下的文件   HDFS文件系统路径

清空回收站

hdfs dfs -rm -r HDFS文件系统中回收站的路径

例如:hdfs dfs -rm -r /user/root/.Trash

以上是“能处理大数据的技术有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

​能处理大数据的技术有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

​能处理大数据的技术有哪些

小编给大家分享一下能处理大数据的技术有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!能处理大数据的技术:Hadoop离线计算 spark实时计算 stro
2023-06-02

大数据技术有哪些

本篇内容介绍了“大数据技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  大数据的概念,指的是无法在一定时间内用常规软件工具对其内容
2023-06-02

C++技术中的大数据处理:如何利用人工智能技术增强大数据处理能力?

在 c++++ 中处理大数据时,我们可以利用人工智能 (ai) 技术来增强处理能力,包括集成机器学习 (ml)、深度学习 (dl) 和自然语言处理 (nlp) 算法。通过集成 ai,我们可以提高预测和分类的准确性、自动化繁琐任务并增强对数据
C++技术中的大数据处理:如何利用人工智能技术增强大数据处理能力?
2024-05-11

大数据技术栈,主要有哪些

往大数据方向发展需要学哪些技术?网上一搜真是指不胜屈。对于小白来说,实在是一头雾水,到底哪些是当下流行的?哪些是必须要先学会的?流行?主次搞不清。为了解决这些疑惑,羚羊专门花了些时间,  挨个技术去研究对比归类,大概总结出以下的技术点:文件存储: Hadoop
大数据技术栈,主要有哪些
2021-09-27

C++技术中的大数据处理:如何采用流处理技术处理大数据流?

流处理技术用于大数据处理流处理是一种即时处理数据流的技术。在 c++++ 中,apache kafka 可用于流处理。流处理提供实时数据处理、可伸缩性和容错性。本例使用 apache kafka 从 kafka 主题读取数据并计算平均值。C
C++技术中的大数据处理:如何采用流处理技术处理大数据流?
2024-05-11

Hadoop集群技术近年来对大数据处理有哪些推动

这篇文章主要介绍“Hadoop集群技术近年来对大数据处理有哪些推动”,在日常操作中,相信很多人在Hadoop集群技术近年来对大数据处理有哪些推动问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hadoop集群技
2023-06-10

大数据报表工具的打印技术有哪些

这篇文章主要为大家分析了大数据报表工具的打印技术有哪些的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“大数据报表工具的打印技术有哪些”的知识吧。在 C/S 时
2023-06-03

数据采集技术有哪些

数据采集技术有:1、传感器采集;2、爬虫采集;3、录入采集;4、导入采集;5、接口采集等。数据采集,是指从不同来源获取数据的过程。根据采集数据的类型数据采集可以分为不同的方式,主要方式有:传感器采集、爬虫采集、录入采集、导入采集、接口采集等
2023-07-10

php并发处理技术有哪些

PHP语言本身是单线程的,不支持多线程处理。但是可以通过一些技术手段实现并发处理,如:多进程:使用PHP的pcntl扩展,可以创建多个进程来并发处理任务。多线程:使用PHP的pthreads扩展,可以创建多个线程来并发处理任务。异步编程
2023-10-22

C++技术中的大数据处理:如何优化C++代码以提升大数据处理性能?

通过优化 c++++ 代码,可以提升大数据处理性能。优化技术包括:使用智能指针管理内存。优化数据结构,如使用哈希表和 b 树。利用并行编程。减少拷贝开销。缓存数据。C++ 技术中的大数据处理:优化代码以提升性能引言在当今大数据时代,高效
C++技术中的大数据处理:如何优化C++代码以提升大数据处理性能?
2024-05-12

php高并发处理技术有哪些

PHP是一种服务器端脚本语言,常用于Web开发。由于PHP是解释执行的语言,处理高并发请求时会面临一些挑战。以下是一些处理PHP高并发的技术:负载均衡(Load Balancing):将请求分发到多个服务器上,以减轻单个服务器的压力。常用的
2023-10-24

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录