使用sqoop将hive中的数据导入关系型数据库怎么去重

使用sqoop将hive中的数据导入关系型数据库怎么去重,第1张

直接导入hive表

sqoop import --connect jdbc:postgresql://ip/db_name--username user_name --table table_name --hive-import -m 5

内部执行实际分三部,1.将数据导入hdfs(可在hdfs上找到相应目录),2.创建hive表名相同的表,3,将hdfs上数据传入hive表中

sqoop根据postgresql表创建hive表

sqoop create-hive-table --connect jdbc:postgresql://ip/db_name --username user_name --table table_name --hive-table hive_table_name( --hive-partition-key partition_name若需要分区则加入分区名称)

导入hive已经创建好的老岁表中

sqoop import --connect jdbc:postgresql://ip/db_name --username user_name --table table_name --hive-import -m 5 --hive-table hive_table_name (--hive-partition-key partition_name --hive-partition-value partititon_value)

使用query导入hive表

sqoop import --connect jdbc:postgresql://ip/db_name --username user_name --query "select ,* from retail_tb_order where \$CONDITIONS" --hive-import -m 5 --hive-table hive_table_name (--hive-partition-key partition_name --hive-partition-value partititon_value)

注意:$CONDITIONS条件必须有,query子句若用双引号氏正,侍核睁则$CONDITIONS需要使用\转义,若使用单引号,则不需要转义。

1. 大数据专业课程有哪些

首先我们要了解Java语言和Linux *** 作系统,这两个是学习大数据的基础,学习的顺序不分前后。

Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据。基础

Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。

好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。

Hadoop:这是现在流行的大数据处理纯迹平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapRece和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapRece是激裤知对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。

记住学到这里可以作为你学大数据的一个节点

Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。

Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。

Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。

Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapRece程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。

Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapRece、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。

Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。

Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。

Spark:它是用来弥补基于MapRece处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以 *** 作它,因为它们都是用JVM的。

2. hadoop视频教程下载

其实这个课程讲的“微博”项目是《HBase in action》明消中的例子。其中的源代码都放在 github 上面。

3. 请问哪位有《深入浅出Hadoop实战开发》的视频教程

Hadoop是什么,为什么要学习Hadoop?

Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。

Hadoop带有用Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。本课程的讲解是采用linux平台进行模拟讲解,完全基于真实场景进行模拟现实

亮点一:技术点全面,体系完善

本课程在兼顾Hadoop课程知识体系完善的前提下,把实际开发中应用最多、最深、最实用的技术抽取出来,通过本课程,你将达到技术的新高点,进入云计算的美好世界。在技术方面你将彻底掌握基本的Hadoop集群;Hadoop HDFS原理;Hadoop HDFS基本的命令;Namenode的工作机制;HDFS基本配置管理;MapRece原理; HBase的系统架构;HBase的表结构;HBase如何使用MapRece;MapRece高级编程;split的实现详解;Hive入门;Hive结合MapRece;Hadoop的集群安装等众多知识点。

亮点二:基础+实战=应用,兼顾学与练

课程每阶段都安排了实战应用项目,以此方便学生能更快的掌握知识点的应用,如在第一阶段,课程结合HDFS应用,讲解了图片服务器的设计、以及如何利用Java API去对HDFS *** 作、在第二阶段课程结合HBase实现微博项目的各种功能,使学员可以活学活用。在第三阶段:HBase和MapRece结合时下了实现话单查询与统计系统,在第四阶段,Hive实战部分,通过实战数据统计系统,使学员在最短的时间内掌握Hive的高级应用。

亮点三:讲师丰富的电信集团云平台运作经验

讲师robby拥有丰富的电信集团工作经验,目前负责云平台的各方面工作,并拥有多年的企业内部培训经验。讲课内容完全贴近企业需求,绝不纸上谈兵。

更多技术亮点参考课程大纲:(本大纲以章节形式命名要为防止某些章节1章节内容超过1课时)

第1章节:

>Hadoop背景

>HDFS设计目标

>HDFS不适合的场景

>HDFS架构详尽分析

>MapRece的基本原理

第2章节

>Hadoop的版本介绍

>安装单机版Hadoop

>安装Hadoop集群

第3章节

>HDFS命令行基本 *** 作

>Namenode的工作机制

>HDFS基本配置管理

第4章节

>HDFS应用实战:图片服务器(1) - 系统设计

>应用的环境搭建 php + bootstrap + java

>使用Hadoop Java API实现向HDFS写入文件

第5章节

>HDFS应用实战:图片服务器(2)

>使用Hadoop Java API实现读取HDFS中的文件

>使用Hadoop Java API实现获取HDFS目录列表

>使用Hadoop Java API实现删除HDFS中的文件

第6章节

>MapRece的基本原理

>MapRece的运行过程

>搭建MapRece的java开发环境

>使用MapRece的java接口实现WordCount

第7章节

>WordCount运算过程分析

>MapRece的biner

>使用MapRece实现数据去重

>使用MapRece实现数据排序

>使用MapRece实现数据平均成绩计算

第8章节

>HBase详细介绍

>HBase的系统架构

>HBase的表结构,RowKey,列族和时间戳

>HBase中的Master,Region以及Region Server

第9章节

>使用HBase实现微博应用(1)

>用户注册,登陆和注销的设计

>搭建环境 struts2 + jsp + bootstrap + jquery + HBase Java API

>HBase和用户相关的表结构设计

>用户注册的实现

第10章节

>使用HBase实现微博应用(2)

>使用session实现用户登录和注销

>“关注"功能的设计

>“关注"功能的表结构设计

>“关注"功能的实现

第11章节

>使用HBase实现微博应用(3)

>“发微博"功能的设计

>“发微博"功能的表结构设计

>“发微博"功能的实现

>展现整个应用的运行

第12章节

>HBase与MapRece介绍

>HBase如何使用MapRece

第13章节

>HBase应用实战:话单查询与统计(1)

>应用的整体设计

>开发环境搭建

>表结构设计

第14章节

>HBase应用实战:话单查询与统计(2)

>话单入库单设计与实现

>话单查询的设计与实现

第15章节

>HBase应用实战:话单查询与统计(3)

>统计功能设计

>统计功能实现

第16章节

>深入MapRece(1)

>split的实现详解

>自定义输入的实现

>实例讲解

第17章节

>深入MapRece(2)

>Rece的partition

>实例讲解

第18章节

>Hive入门

>安装Hive

>使用Hive向HDFS存入结构化数据

>Hive的基本使用

第19章节

>使用MySql作为Hive的元数据库

>Hive结合MapRece

第20章节

>Hive应用实战:数据统计(1)

>应用设计,表结构设计

第21章节

>Hive应用实战:数据统计(2)

>数据录入与统计的实现

4. 哪个课程题库有hadoop的题

这是在一个平衡Hadoop集群中,为数据节点/任务追踪器提供的规格:

在一个磁盘阵列中要有12到24个1~4TB硬盘

2个频率为2~2.5GHz的四核、六核或八核CPU

64~512GB的内存

有保障的千兆或万兆以太网(存储密度越大,需要的网络吞吐量越高)

名字节点角色负责协调集群上的数据存储,作业追踪器协调数据处理(备用的名字节点不应与集群中的名字节点共存,并且运行在与之相同的硬件环境上。)。Cloudera客户购买在RAID1或10配置上有足够功率和级磁盘数的商用机器来运行名字节点和作业追踪器。

NameNode也会直接需要与群集中的数据块的数量成比列的RAM。一个好的但不精确的规则是对于存储在分布式文件系统里面的每一个1百万的数据块,分配1GB的NameNode内存。于在一个群集里面的100个DataNodes而言,NameNode上的64GB的RAM提供了足够的空间来保证群集的增长。我们也把HA同时配置在NameNode和JobTracker上,

这里就是为NameNode/JobTracker/Standby NameNode节点群的技术细节。驱动器的数量或多或少,将取决于冗余数量的需要。

4–6 1TB 硬盘驱动器 采用 一个 JBOD 配置 (1个用于OS, 2个用于文件系统映像[RAID 1], 1个用于Apache ZooKeeper, 1个用于Journal节点)

2 4-/16-/8-核心 CPUs, 至少运行于 2-2.5GHz

64-128GB 随机存储器

Bonded Gigabit 以太网卡 or 10Gigabit 以太网卡

记住, 在思想上,Hadoop 体系设计为用于一种并行环境。

5. 大数据的课程都有哪些

大数据本身属于交叉学科,涵盖计算机、统计学、数学三个学科的专业知识。所以大数据的课程内容,基本上也是围绕着三个学科展开的。

数理统计方面:数学分析、统计学习、高等代数、离散数学、概率与统计等课程是基本配置。

计算机专业课程:数据结构、数据科学、程序设计、算法分析与设计、数据计算智能、数据库系统、计算机系统基础、并行体系结构与编程、非结构化大数据分析等,也是必备课程。

而想要真正找到工作的话,大数据主流技术框架,也要去补充起来,这才是找工作当中能够获得竞争力的加分项。

6. hadoop 集群教程

要教程?不明白你这个啥意思

7. 有哪些好的hadoop学习资料

1."Hadoop.Operations.pdf.zip"//vdisk.weibo/s/vDOQs6xMAQH62

2."Hadoop权威指南(中文版)(带书签).pdf"Hadoop权威指南(中文版)(带书签).pdf

3."[Hadoop权威指南(第2版)].pdf"[Hadoop权威指南(第2版)].pdf

4."hadoop权威指南第3版2012.rar"hadoop权威指南第3版2012.rar

5.《Hadoop技术内幕:深入解析HadoopCommon和HDFS.pdf"《Hadoop技术内幕:深入解析Hadoop Common和HDFS.pdf

6."Hadoop技术内幕:深入解析MapRece架构设计与实现原理.pdf"Hadoop技术内幕:深入解析MapRece架构设计与实现原理.pdf

7."Hadoop实战.pdf"Hadoop实战.pdf

8."Hadoop实战-陆嘉恒(高清完整版).pdf"Hadoop实战-陆嘉恒(高清完整版).pdf

9."Hadoop实战(第2版).pdf"Hadoop实战(第2版).pdf

10."HadoopinAction.pdf"Hadoop in Action.pdf

11"Hadoop in practice.pdf"Hadoop in practice.pdf

12"HadoopThe.Definitive.Guide,3Ed.pdf"Hadoop The.Definitive.Guide,3Ed.pdf

13."O'Reilly.Hadoop.The.Definitive.Guide.3rd.Edition.May.2012.pdf"O'Reilly.Hadoop.The.Definitive.Guide.3rd.Edition.May.2012.pdf

14."hadoop入门实战手册.pdf"hadoop入门实战手册.pdf

15."Hadoop入门手册.chm"Hadoop入门手册.chm

16."windows下配置cygwin、hadoop等并运行maprece及maprece程序讲解.doc"windows下配置cygwin、hadoop等并运行maprece及maprece程序讲解.doc

17"在Windows上安装Hadoop教程.pdf"在Windows上安装Hadoop教程.pdf

18."Hadoop源代码分析(完整版).pdf"Hadoop源代码分析(完整版).pdf

19."hadoop-api.CHM"hadoop-api.CHM

20."HBase-Hadoop@小米.pptx" HBase-Hadoop@小米.pptx

21."但彬-Hadoop平台的大数据整合.pdf"但彬-Hadoop平台的大数据整合.pdf

22."QCon2013-罗李-Hadoop在阿里.pdf"QCon2013-罗李

23."网络hadoop计算技术发展.pdf"网络hadoop计算技术发展.pdf

24."QCon-吴威-基于Hadoop的海量数据平台.pdf"QCon-吴威-基于Hadoop的海量数据平台.pdf

25."8步安装好你的hadoop.docx"8步安装好你的hadoop.docx

26."hadoop运维经验分享.ppsx"hadoop运维经验分享.ppsx

27."PPT集萃:20位Hadoop专家分享大数据技术工具与最佳实践.rar"PPT集萃:20位Hadoop专家分享大数据技术工具与最佳实践.rar

28."Hadoop2.0基本架构和发展趋势.pdf"Hadoop 2.0基本架构和发展趋势.pdf

29."Hadoop与大数据技术大会PPT资料.rar"Hadoop与大数据技术大会PPT资料.rar

30."Hadoop2011云计算大会.rar"Hadoop2011云计算大会.rar

1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。

2)namenode返回是否可以上传。

3)客户端请求第一个 block上传到哪几个datanode服务器上。

4)namenode返回3个datanode节点,分别为dn1、dn2、dn3。

5)客户端请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通拦扒信管道建立完成

6)dn1、dn2、dn3逐级应答客户端(ack响应)

7)客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答

8)当一个block传输完成之后,客户端再次请求namenode上传第二个block的服务器。(重复执行3-7步)

1.客户端通过调用DistributedFileSystem的create方升物法创建新文件。

2.DistributedFileSystem通过RPC调用namenode去创建一个没有blocks关联的新文件,创建前, namenode会做各种校验,比如文件是否存在,客户端有无权限去创建等。如果校验通过, namenode就会记录下新文件,否则就会抛出IO异常。

3.前两步结束后,会返回FSDataOutputStream的对象,与读文件的时候相似, FSDataOutputStream被封装成DFSOutputStream。DFSOutputStream可以协调namenode和 datanode。客户端开始写数据到DFSOutputStream,DFSOutputStream会简笑昌把数据切成一个个小的packet,然后排成队 列data quene(数据队列)。

4.DataStreamer会去处理接受data quene,它先询问namenode这个新的block最适合存储的在哪几个datanode里(比如重复数是3,那么就找到3个最适合的 datanode),把他们排成一个pipeline。DataStreamer把packet按队列输出到管道的第一个datanode中,第一个 datanode又把packet输出到第二个datanode中,以此类推。

5.DFSOutputStream还有一个对列叫ack quene,也是由packet组成,等待datanode的收到响应,当pipeline中的所有datanode都表示已经收到的时候,这时ack quene才会把对应的packet包移除掉。

    如果在写的过程中某个datanode发生错误,会采取以下几步:

        1)pipeline被关闭掉;

        2)为了防止防止丢包ack quene里的packet会同步到data quene里;

        3)把产生错误的datanode上当前在写但未完成的block删掉;

        4)block剩下的部分被写到剩下的两个正常的datanode中;

        5)namenode找到另外的datanode去创建这个块的复制。当然,这些 *** 作对客户端来说是无感知的。

6.客户端完成写数据后调用close方法关闭写入流。

7.DataStreamer把剩余得包都刷到pipeline里,然后等待ack信息,收到最后一个ack后,通知datanode把文件标视为已完成。

注意:客户端执行write *** 作后,写完的block才是可见的(注:和下面的一致性所对应),正在写的block对客户端

#### 网络拓扑

在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺。这里的想法是将两个节点间的带宽作为距离的衡量标准。

​ 节点距离:两个节点到达最近的共同祖先的距离总和。

例如,假设有数据中心d1机架r1中的节点n1。该节点可以表示为/d1/r1/n1。利用这种标记,这里给出四种距离描述。

Distance(/d1/r1/n1, /d1/r1/n1)=0(同一节点上的进程)

Distance(/d1/r1/n1, /d1/r1/n2)=2(同一机架上的不同节点)

Distance(/d1/r1/n1, /d1/r3/n2)=4(同一数据中心不同机架上的节点)

Distance(/d1/r1/n1, /d2/r4/n2)=6(不同数据中心的节点)

#### 机架感知

- 官方ip地址:

http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/RackAwareness.html

http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Data_Replication

- 低版本Hadoop副本节点选择

第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。

第二个副本和第一个副本位于不相同机架的随机节点上。

第三个副本和第二个副本位于相同机架,节点随机。

- 高副本节点选择

​ 第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。

​ 第二个副本和第一个副本位于相同机架,随机节点。

​ 第三个副本位于不同机架,随机节点。


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

原文地址: http://outofmemory.cn/yw/12469344.html

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

发表评论

登录后才能评论

评论列表(0条)

保存