写给大数据开发初学者的话2

见 : http://lxw1234.com/archives/2016/11/782.htm



如果你已经按照《写给大数据开发初学者的话》中第一章和第二章的流程认真完整的走了一遍,那么你应该已经具备以下技能和知识点:

  1. 0和Hadoop2.0的区别;
  2. MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);
  3. HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;
  4. 自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;
  5. 会写简单的SELECT、WHERE、GROUP BY等SQL语句;
  6. Hive SQL转换成MapReduce的大致流程;
  7. Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;

从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。

此时,你的”大数据平台”是这样的:

lxw1234

那么问题来了,海量数据如何到HDFS上呢?

第三章:把别处的数据搞到Hadoop上

此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。

3.1 HDFS PUT命令

这个在前面你应该已经使用过了。

put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。

建议熟练掌握。

3.2 HDFS API

HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。
实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。
建议了解原理,会写Demo。

3.3 Sqoop

Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。
就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。

自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。
了解Sqoop常用的配置参数和方法。
使用Sqoop完成从MySQL同步数据到HDFS;
使用Sqoop完成从MySQL同步数据到Hive表;

PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。

3.4 Flume

Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。
Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。
因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。

下载和配置Flume。
使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;

PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。

3.5 阿里开源的DataX

之所以介绍这个,是因为我们公司目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,非常好用。
可以参考我的博文《异构数据源海量数据交换工具-Taobao DataX 下载和使用》。
现在DataX已经是3.0版本,支持很多数据源。
你也可以在其之上做二次开发。

PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。

如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:

lxw1234


11 

如果觉得本博客对您有帮助,请 赞助作者 。


 

第四章:把Hadoop上的数据搞到别处去

前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?

其实,此处的方法和第三章基本一致的。

4.1 HDFS GET命令

把HDFS上的文件GET到本地。需要熟练掌握。

4.2 HDFS API

同3.2.

4.3 Sqoop

同3.3.
使用Sqoop完成将HDFS上的文件同步到MySQL;
使用Sqoop完成将Hive表中的数据同步到MySQL;

4.4 DataX

同3.5.

 

如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:

lxw1234

以下章节正在整理中,请持续关注 lxw的大数据田地

 

第五章:快一点吧,我的SQL

第六章:一夫多妻制

第七章:越来越多的分析任务

第八章:我的数据要实时

第九章:我的数据要对外

第十章:牛逼高大上的机器学习




 写给大数据开发初学者的话1


写给大数据开发初学者的话2


第三章:把别处的数据搞到Hadoop上

第四章:把Hadoop上的数据搞到别处去

写给大数据开发初学者的话3

第五章:快一点吧,我的SQL

第六章:一夫多妻制

写给大数据开发初学者的话4

第七章:越来越多的分析任务

第八章:我的数据要实时

写给大数据开发初学者的话5

第九章:我的数据要对外

第十章:牛逼高大上的机器学习



  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pandas的结构和应用

Pandas处理以下三个数据结构 - 系列(Series)----一维ndarray   特点:带有标签,可以使用标签作为索引,大小不能改变,内部数据可以改变。 属性:与NumPy类似,多了一个轴标签axis lables 数据…

时间即财富:创业者浪费精力的八个错误

导读:本文作者Jeff Miller是美食网页应用Punchfork的创始人,同时也是DuckDuckGo、Ginzametrics、Art.sy、DataMinr以及Forkly的投资人。作者通过对自己创业初期一些错误选择进行盘点,告诉读者在创业初期应该学会选择,因为在创业初…

写给大数据开发初学者的话3

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 如果你已经按照《写给大数据开发初学者的话2》中第三章和第四章的流程认真完整的走了一遍,那么你应该已经具备以下技能和知识…

十五周二次课

18.6 负载均衡集群介绍 主流开源软件LVS、keepalived、haproxy、nginx等其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用keepalived的负载均衡功能其实就是lvslvs这种4层的负…

写给大数据开发初学者的话4

见:http://lxw1234.com/archives/2016/11/795.htm 如果你已经按照《写给大数据开发初学者的话3》中第五章和第六章的流程认真完整的走了一遍,那么你应该已经具备以下技能和知识点: 为什么Spark比MapReduce快。使用SparkSQL代替Hive&#xff…

域名解析服务之DNS查询类型

在实际应用中DNS查询主要分为两种方式查询:1.递归查询;2.迭代查询 一般情况下:为了减少资源的消耗,网络中客户端与所属的本地DNS服务器查询方式通常为递归查询,本地DNS服务器与外部的公共DNS服务器间的查询方式为迭代查…

MFC Ribbon界面设计

Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏 MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看 看下面的一个界面,是VC2010示例里的 看到它与默认Ribbon样式的区别: 工…

获取泛型T的ClassT clazz

在我们搭建框架中往往会用到泛型,我们知道泛型的好处是在编译的时候检查类型安全&#xff0c;并且所有的强制转换都是自动和隐式的&#xff0c;代码的重用率高 然而有时候<method>的入参并不能直接强制转换成泛型的类型,比如说下面这段代码&#xff1a; 很明显String 类…

写给大数据开发初学者的话5

见&#xff1a;http://lxw1234.com/archives/2017/01/832.htm 至此&#xff0c;你的大数据平台底层架构已经成型了&#xff0c;其中包括了数据采集、数据存储与计算&#xff08;离线和实时&#xff09;、数据同步、任务调度与监控这几大模块。接下来是时候考虑如何更好的对外提…

3.spring boot Controller获取请求参数的值

2019独角兽企业重金招聘Python工程师标准>>> 1.获取连接中的参数,使用倒的关键词PathVariable RestController public class HelloController {RequestMapping(value "/hello/{id}",method RequestMethod.GET)public String index(PathVariable("i…

登录与注册

代码如下 private void btn_login_Click(object sender, EventArgs e){SqlConnection sqlconnection new SqlConnection();sqlconnection.ConnectionString ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;SqlCommand sqlcommand new SqlComman…

三分钟明白 Activiti工作流 -- java运用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、 什么是工作流 以请假为例&#xff0c;现在大多数公司的请假流程是这样的 员工打电话&#xff08;或网聊&#xff09;向上级提出请…

vue-i18n使用及踩坑记录

使用步骤 1. 安装 npm i vue-i18n 2. vue-cli下使用 //1. 引入 vue-i18n import Vue from vue import VueI18n from vue-i18n Vue.use(VueI18n)//2. 定义messages const messages {en: {text: {hello: hello world}},zh: {text: {hello: 你好、世界}} }//如果messages字段很多…

idea搭建web项目及tomcat部署总结

该文章为引用文章&#xff0c;原地址为&#xff1a;https://www.cnblogs.com/shindo/p/7272646.html 后面有我自己搭建过程中遇到的问题及解决方案&#xff0c;请参考。 一、创建简单web项目 1、创建一个web project File -> new Project ->选择project sdk 为1.6&#x…

Activiti工作流框架学习(一)环境的搭建和数据表的了解

一、什么是工作流 工作流(Workflow)&#xff0c;就是“业务过程的部分或整体在计算机应用环境下的自动化”&#xff0c;它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行&#xff0c;从而实现某个预期的业务目标&#xff0c;或者促使…

基础、语法都不是最重要的,学Python最重要的是什么?编程思路!

论述 一些朋友自学python过程中&#xff0c;发现书也能看懂&#xff0c;书上的玩具代码也能看懂&#xff0c;但为啥自己不能做习题&#xff0c;不能写代码解决问题&#xff0c;自己不能动手写代码&#xff1f; 原因 初学者没有学会计算思维、解决问题的方法、编程思路。编程思路…

Activiti工作流引擎的使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科&#xff1a;工作流引擎 1.1 我与工作流引…

Flurry调查报告:图片和视频应用增长速度最快

据外国媒体报道&#xff0c;移动数据分析公司Flurry近期对应用分类的欢迎度进行研究后发现&#xff0c;就用户使用的时间而言&#xff0c;“图片和视频”应用已成为增长最快的移动应用。 Flurry对各种应用分类的800多万移动用户进行了调查&#xff0c;并利用其分析工具跟踪了1…

12-思科防火墙:ASA会话超时

一、实验拓扑&#xff1a;二、实验要求&#xff1a;DCD&#xff1a;死亡检测时间&#xff0c;默认R2 Telnet上去保持时间为1个小时&#xff0c;超时就会被清除掉&#xff0c;这里要求变为4小时&#xff0c;每15s就会发送5个DCD检测包&#xff0c;如没回应就剔除掉&#xff0c;回…

orCAD使用Orcad Capture CIS按Room摆放

http://www.sig007.com/EDAguide/176.html 37 使用Orcad Capture CIS按Room摆放 &#xff08;1&#xff09;打开原理图某一工程页 &#xff08;2&#xff09;按Ctrl键依次选中需要建Room的元件&#xff0c;右击&#xff0c;选择Edit Properties 在Filter by 下拉菜单中选择Cad…