Sqoop:SQL与NoSQL间的数据桥梁

  • 时间:
  • 浏览:1

Sqoop最简单的使用法律方法,要是第一根命令,唯一需要的是配置相应的参数。sqoop都都可以 将所有参数写在一行上,也都都可以 写在配置文件上端。肯能导入的选项太满 ,通常大伙 都把参数写在配置文件上端,以便更好的调试。在导入到HDFS的过程中,需要配置以下参数:

在Hive中进行了一系列的冗杂统计分析后,最后的结论肯能还是需要存储到Mysql中,这样都都可以 在Hive句子中,将分析结果导出到HDFS中存储起来,最后再使用Sqoop将HDFS的文件导入到MySQL表中,方便业务使用。

来源:51CTO

上端使用了配置文件的法律方法,在配置文件中,都都可以 使用#注释,也都都可以 使用空行,另另另4个 方便做调试。配置好上端的参数文件,即可调用测试:

好多好多 有企业中,业务数据都有存贴到 MySQL数据库中的,当数据量太满 后,单机版本的MySQL好难满足业务分析的各种需求。此时,肯能就需要将数据存入Hadoop集群环境中,这样本文的主角Sqoop便适时的老出了,用来架起SQL与NoSQL之间的数据桥梁。

HDFS导出到MySQL

肯能不报错,最都有显示导入的文件大小与文件行数。

NoSQL是并都有技术肯能框架的统称,包括以Mongodb,Hadoop,Hive,Cassandra,Hbase,Redis等为代表的框架技术,哪些都有特定的领域有好多好多 有实际的应用。而SQL领域的开源代表自然是MySQL了。

导入到HDFS中的数据,要进行统计分析,甚至会需要对多个文档进行关联分析,还是有不便之处,此时都都可以 再使用Hive来进行数据关联。

Transferred 3.4982 GB in 3500.2751 seconds (10.2266 MB/sec)

Retrieved 165009945 records.

首先,需要在Hive中建立表特征,只取舍性的建立导入的数据字段,比如导入了id和name另另4个 字段,则Hive表也只建立这另另4个 字段。

配置文件示例:

增量的法律方法,需要指定以下几只参数:

完成上端的操作后,即都都可以 在Hive中进行查询和测试,查看是否有数据。Hive的hql语法,源于mysql的语法,要是对要素细节支持不一样,假使 肯能需要调试一下。

从MySQL导入到HDFS文件系统中,是最简单的并都有法律方法了,大约直接将表的内容,导出成文件,存贴到 HDFS中,以便后用。

则建立表后,表上端这样对应上数据,需要去掉 分区到hive表中,在hive中执行以下句子:

肯能不考虑数据的修改大间题,只考虑数据的增加大间题,都都可以 使用append模式导入。肯能需要考虑数据修改,则使用lastmodified的模式。

Transferred 3.9978 GB in 811.4697 seconds (5.0448 MB/sec)

Retrieved 18589739 records.

将MySQL中的数据导入到HDFS中,又将HDFS中的数据建立了到Hive表的映射。至此,通过Sqoop工具作为SQL与NoSQL的数据桥梁,将传统的数据也存入到NoSQL中来了,有了数据,便是刚现在开始。

SQL防止二维表格数据,是并都有最朴素的工具,NoSQL是Not Only SQL,即不仅仅是SQL。从MySQL导入数据到HDFS文件系统中,最简单的并都有法律方法要是使用Sqoop,假使 将HDFS中的数据和Hive建立映射。通过Sqoop作为数据桥梁,将传统的数据也存入到NoSQL中来了,有了数据,猴戏才之前 现在开始。

timestamp ==> 替换datetime

/path/your_table/pdyear=2015

另外,最好通过external关键字指定建立内部内部结构表,另另另4个 Hive只管理表的元数据,真实的数据还是由HDFS来存储和手工进行更新。即使删除了Hive中的表,数据依然会占据 于HDFS中,还都都可以 另做它用。

int ==> 替换int

Transferred 172.9216 MB in 72.2055 seconds (2.3949 MB/sec)

Retrieved 1069275 records.

这是另另4个 导入速率的记录,供参考:

猴戏刚现在开始

string ==> 替换char,varchar

NoSQL最初的意思是No SQL,估计应该是想和SQL划清界线,就像GNU的递归缩写GNU is Not Unix一样。很久发现,真是小量的NoSQL技术起来了,但SQL还是活得好好的,照样发挥着好多好多 有不可替代的作用。渐渐地,大伙 也发现,另另另4个 哪些新技术,也要是在不同的应用场景下对SQL的补充,假使 也慢慢为NoSQL正名了,另另另4个 是Not Only SQL,即不仅仅是SQL,还有好多好多 有其它的防止非特征化数据和应用于各种场景的技术。甚至好多好多 有技术,真是是在NoSQL的框架下,但也慢慢的又往SQL方向发展。

HDFS文件系统是不允许对记录进行修改的,只能对文件进行删除,肯能追加新文件到目录中。但Mysql数据中的增、删、改是最基本的操作,假使 导入的数据,肯能一会儿就过期了。

本文作者:云戒

/path/your_table/pdyear=2016

从这儿也都都可以 看出,不须所有数据都适合导入到HDFS,通常是日志数据肯能非常大的需要统计分析的数据。通常不太满 的表,也建议直接完整篇 导入,肯能并都有导入速率肯都都都可以快了,千万级别的数据,也要是几分钟而已。

float ==> 替换float

参数说明:

上端指定了另另4个 分区pdyear,字段分隔符为'\001',存储成TEXTFILE格式,数据文件的目录为/path/your_table(从MySQL导入到HDFS的目录)。

映射到hive

肯能导入的数据,配置了分区,即如下目录特征:

增量导入

导出的配置示例:

MySQL导入HDFS

SQL防止二维表格数据,是并都有最朴素的工具,查询、更新、修改、删除这并都有对数据的基本操作,是防止数据的另另4个 巨大进步。近些年,各种新的数据防止技术兴起了,都想革SQL的命,哪些技术也被大伙 统称为NoSQL。

示例参数说明:

Transferred 846.55002 MB in 164.0938 seconds (5.1591 MB/sec)

Retrieved 5242290 records.

猴年伊始

另外,还需要指定存储格式,字符分隔符和分区等,常用的另另4个 建表句子如:

建表,要指定字段的数据格式,通常只需要用四数据来替换Mysql的数据: