hadoop和mysql严格的来说没有任何关系,区别为hadoop是一种分布式计算框架,用于处理大量的数据,而mysql是数据库用来存放数据的。
但是一般来说,配合hadoop的数据库不是mysql这类传统的关系型数据库,因为当数据量非常大的时候,这些数据库的处理速度会非常慢(就算做了集群也一样慢),取而代之的则是hbase这类非关系型数据库,在大量数据处理过程中,处理速度会比较稳定。
2. hadoop跟mysql的区别是什么?
举个简单的例子。mysql就是一个麻袋,里面装的是数据。而hadoop则是一种很强大的工具,它的作用就是去处理包括这些麻袋在内的大数据。
所以,实际上他俩是不存在直接关系的。
hadoop一般是应用于冷数据处理,对于实时数据,如果非要使用,可以变着方法使用。方法一:在hadoop上使用hbase数据库,以为hbase是不走Map/Reduce的,所以 *** 作在毫秒级。方法二:将业务数据用程序分成实时数据和冷数据,实时数据存于关系数据库,冷数据存到hadoop。比如:将最近一个月的数据存到关系数据库,用做实时响应业务处理。将一个月以前的数据存到hadoop,用作历史数据查询以及统计分析,数据挖掘等。通过Map/Reduce进行批处理递送到ApacheHadoop仍然是中枢环节。,但随着要从“超思维速度“分析方面获取竞争优势的压力递增,因此Hadoop(分布式文件系统)自身经历重大的发展。科技的发展允许实时查询,如Apache
Drill,Cloudera
Impala和Stinger
Initiative正脱颖而出,新一代的资源管理Apache
YARN
支持这些。
为了支持这种日渐强调实时性 *** 作,发布一个新MySQL
Applier
for
Hadoop(用于Hadoop的MySQL
Applier)组件。它能够把MySQL中变化的事务复制到Hadoop
/
Hive
/
HDFS。Applier
组件补充现有基于批处理Apache
Sqoop的连接性。
这个组件(MySQL
Applier
for
Hadoop)的复制是通过连接MySQL主服务,一旦二进制日志被提交,就读取二进制日志事务,并且把它们写到HDFS.
这个组件使用libhdfs提供的API,一个C库 *** 作HDFS中的文件。这库由Hadoop版本预编译生成的。
它连接MySQL主服务读二进制日志,然后提取发生在主服务上的行插入事件,解码事件,提取插入到行的每个字段的数据,并使用满意的处理程序得到被要求的格式数据。把它追加到HDFS
中一个文本文件。
数据库被映射为单独的目录,它们的表映射为子目录,保存在数据仓库目录。每个表的数据被写到Hive/
HDFS中文本文件(称为datafile1.txt)。数据可以用逗号格式分隔或其他格式,那可用命令行参数来配置的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)