大数据常用开发工具

大数据常用开发工具,第1张

1 Apache Hive

Hive是一个建立在Hadoop上的开源数据仓库基础设施,通过Hive可以很容易的进行数据的ETL,对数据进行结构化处理,并对Hadoop上大数据文件进行查询和处理等。Hive提供了一种简单的类似SQL的查询语言—HiveQL,这为熟悉SQL语言的用户查询数据提供了方便。

2 Apache Spark

Apache Spark是Hadoop开源生态系统的新成员。它提供了一个比Hive更快的查询引擎,因为它依赖于自己的数据处理框架而不是依靠Hadoop的HDFS服务。同时,它还用于事件流处理、实时查询和机器学习等方面。

3 Jaspersoft BI 套件

Jaspersoft包是一个通过数据库列生成报表的开源软件。行业领导者发现Jaspersoft软件是一流的,许多企业已经使用它来将SQL表转化为pdf,,这使每个人都可以在会议上对其进行审议。另外,JasperReports提供了一个连接配置单元来替代HBase。

4 Keen IO

Keen IO是个强大的移动应用分析工具。开发者只需要简单到一行代码, 就可以跟踪他们想要的关于他们应用的任何信息。开发者接下来只需要做一些Dashboard或者查询的工作就可以了。

5 Mortar Data

Mortar Data是专为开发者打造的Hadoop开发平台,它用Pig和Python的组合替代了MapReduce以便开发者能简单地编写Hadoop管道(Pipeline)。

6 Placed Analytics

利用脚本语言以及API, PlacedAnalytics能够提供针对移动和网络应用的详细用户行为分析。包括, 用户使用时间和地理位置信息。 这些可以帮助开发者的应用更好地吸引广告商, 也可以帮助开发者对自己的应用进行改善。

7 Ingres Corp

它拥有超过一万客户而且正在扩增。它通过Vectorwise以及对ParAccel实现了扩展。这些发展分别导致了Actian Vector和Actian Matrix的创建。它有Apache,Cloudera,Hortonworks以及其他发行版本可供选择。

Hadoop 生态圈中的框架包括以下主要组件,除了以下组件之外的都不属于Hadoop 生态圈。

1)HDFS:一个提供高可用的获取应用数据的分布式文件系统。

2)MapReduce:一个并行处理大数据集的编程模型。

3)HBase:一个可扩展的分布式数据库,支持大表的结构化数据存储。是一个建立在 HDFS 之上的,面向列的 NoSQL 数据库,用于快速读/写大量数据。

4)Hive:一个建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具;可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许不熟悉 MapReduce 的开发人员也能编写数据查询语句,然后这些语句被翻译为 Hadoop 上面的 MapReduce 任务。

5)Mahout:可扩展的机器学习和数据挖掘库。它提供的 MapReduce 包含很多实现方法,包括聚类算法、回归测试、统计建模。

6)Pig:一个支持并行计算的高级的数据流语言和执行框架。它是 MapReduce 编程的复杂性的抽象。Pig 平台包括运行环境和用于分析 Hadoop 数据集的脚本语言(PigLatin)。其编译器将 PigLatin 翻译成 MapReduce 程序序列。

7)Zookeeper:—个应用于分布式应用的高性能的协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步、组服务等。

8)Amban:一个基于 Web 的工具,用来供应、管理和监测 Hadoop 集群,包括支持 HDFS、MapReduceAHive、HCatalog、HBase、ZooKeeperAOozie、Pig 和 Sqoop 。Ambari 也提供了一个可视的仪表盘来查看集群的健康状态,并且能够使用户可视化地查看 MapReduce、Pig 和 Hive 应用来诊断其性能特征。

9)Sqoop:一个连接工具,用于在关系数据库、数据仓库和 Hadoop 之间转移数据。Sqoop 利用数据库技术描述架构,进行数据的导入/导出;利用 MapReduce 实现并行化运行和容错技术。

10)Flume:提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到 HDFS。它基于一个简单而灵活的架构,并提供了数据流的流。它利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到 Hadoop。

Hadoop到底是个啥?

答:Hadoop是基于廉价设备利用集群的威力对海量数据进行安全存储和高效计算的分布式存储和分析框架,Hadoop本身是一个庞大的项目家族,其核心 家族或者底层是HDFS和MapReduce,HDFS和MapReduce分别用来实现对海量数据的存储和分析,其它的项目,例如Hive、HBase 等都是基于HDFS和MapReduce,是为了解决特定类型的大数据处理问题而提出的子项目,使用Hive、HBase等子项目可以在更高的抽象的基础上更简单的编写分布式大数据处理程序。Hadoop的其它子项目还包括Common, Avro, Pig, ZooKeeper, Sqoop, Oozie 等,随着时间的推移一些新的子项目会被加入进来,一些关注度不高的项目会被移除Hadoop家族,所以Hadoop是一个充满活力的系统。

Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。

Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

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

ApacheHBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

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

Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务 ApacheMahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。

ApacheCassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与AmazonDynamo的完全分布式的架构于一身 Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制 ApacheAmbari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。

ApacheChukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供Hadoop 进行各种 MapReduce *** 作。

ApacheHama: 是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。

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

ApacheGiraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和Google 的 Pregel。

ApacheOozie: 是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapReduce)的任务。

ApacheCrunch: 是基于Google的FlumeJava库编写的Java库,用于创建MapReduce程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库 ApacheWhirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。

ApacheBigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。

ApacheHCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。

ClouderaHue: 是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化 *** 作和管理。

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

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

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

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

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

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

1hadoop有三个主要的核心组件:HDFS(分布式文件存储)、MAPREDUCE(分布式的计算)、YARN(资源调度),现在云计算包括大数据和虚拟化进行支撑。

在HADOOP(hdfs、MAPREDUCE、yarn)大数据处理技术框架,擅长离线数据分析

Zookeeper 分布式协调服务基础组件,Hbase 分布式海量数据库,离线分析和在线业务处理。

Hive sql 数据仓库工具,使用方便,功能丰富,基于MR延迟大,可以方便对数据的分析,并且数据的处理可以自定义方法进行 *** 作,简单方便。

Sqoop数据导入导出工具,将数据从数据导入Hive,将Hive导入数据库等 *** 作。

Flume数据采集框架,可以从多种源读取数据。

Azkaban对 *** 作进行管理,比如定时脚本执行,有图形化界面,上传job简单,只需要将脚本打成bao,可直接上传。

2hadoop的可以做离散日志分析,一般流程是:

将web中的数据取过来通过flume,然后通过预处理mapreduce,一般只是使用map就可以了,就是将数据中没有用处的数据去除掉,将数据转换比如说时间的格式,Agent的组合,并将数据进行处理之后以固定格式输出,由Hive处理,Hive是作用是将数据转换出一个表,RTL就是写SQL的一个过程,将数据进行分析,然后将数据报表统计,这个时候使用的是pig数据分析hive一般作为库,pig做分析,我没有使用pig,因为感觉还没有hive的HQL处理方便,最后将含金量最大的数据放入到mysql中,然后将mysql中的数据变为可视图化的工具。

推荐的使用:当我们浏览一各网页的时候,将数据的值值传递给后台保存到log中,后台将数据收集起来,hadoop中的fiume可以将数据拿到放入到HDFS中,原始的数据进行预处理,然后使用HIVE将数据变为表,进行数据的分析,将有价值的数据放入到mysql,作为推荐使用,这个一般是商城,数据的来源也是可以通过多种方式的,比如说隐形、js、日志等都可以作为采集数据的来源。

3hadoop中的HDFS有两个重要的角色:NameNode、datanode,Yarn有两个主要的主角:ResourceManager和nodeManager

4分布式:使用多个节点协同完成一项或者多项业务功能的系统叫做分布式系统,分布式一般使用多个节点组成,包括主节点和从节点,进行分析

5mapreduce:是使用较少的代码,完成对海量数据的处理,比如wordCount,统计单词的个数。

实现思想:将单词一个一个的遍历,然后将单词加1处理,但是这是集群,那么就每个节点计算自己节点的数据,然后最后交给一个统计的程序完成就可以了,最后将单词和结果输出。

以上就是关于大数据常用开发工具全部的内容,包括:大数据常用开发工具、hadoop生态圈中的框架不包括什么、Hadoop到底是什么玩意等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存