我认所谓整合指:我编写MapReduce程序HDFS读取数据插入Cassandra直接Cassandra读取数据进行相应计算
HDFS读取数据插入Cassandra
于种类型我按照几步骤操作
1需要插入Cassandra数据传HDFS
2启Hadoop MapReduce程序
种类型整合其实Cassandra本身没联系我运行普通MapReduce程序Map或者Reduce端计算数据插入Cassandra仅已
直接Cassandra读取数据进行相应计算
功能Cassandra0.6.x版本添加其Cassandra直接读取MapReduce需要数据实现于Cassandra全表扫描功能
操作步骤:
1MapReduce程序指定使用KeySpaceColumnFamilySlicePredicate等Cassandra相关参数(关于些概念参考《Cassandra数据模型》《谈谈Cassandra客户端》)
2启Hadoop MapReduce程序
种类型整合HDFS读取数据整合相比许同主要面几点区别:
1输入数据源同:前种HDFS读取输入数据种Cassandra直接读取数据
2Hadoop版本同:前种使用任何版本Hadoop种能使用Hadoop0.20.x
整合Hadoop0.19.x与Cassandra0.6.x
Cassandra0.6.x(+微信关注网络世界)默认实现与Hadoop0.20.x整合我直接Hadoop0.19.x使用
所要实现目标我第步需要做事情修改Cassandra源代码提供Hadoop0.19.x使用功能
我的普通的电脑是主板上接一块或几块硬盘,分区后格式化成fat32或是ntfs或是ext3,这样操作系统就可以直接访问。
而这层逻辑就是文件系统,它负责处理管理分区中的数据,文件是如何放置,目录结构怎么处理,怎么由一个文件名找到它实际存放的数据的磁道。
然后,在hadoop层面,由于它设计为以多台廉价的机器处理大数据,所以一台机器无法放置如此多的数据,把这些数据存放至多台机器的硬盘上。
为了存储这些文件,hadoop在操作系统的文件系统层面上又虚拟了一层文件系统,叫hdfs。它的用途基本上与我们平时用的文件系统类型,只不过对多机环境做了特殊设置,比如将数据进行分块,默认存储多份等。但这些都是在文件系统层面做到,在hadoop用户层面,人们看到的就是一个统一的文件系统,就像你看到c盘,直接用就好,不用关心数据是如何存在磁盘中的。
然后mapreduce是在hadoop的基础上操作,或者说是以前你统计一个文件中的单词数,直接计算就好了。但是,在hadoop的环境下,你的文件可能被分成块保存在了多台机器上,只在一台机器上计算无法取得正确的结果。
所以,mapreduce是在获得大数据计算能力前提上的妥协,它把你以前逻辑上一步就能完成的事拆成两步。比如wordcount的map函数就是把可以多台机器并行操作的拆分单词并标记个数为1的操作拆出来,这样多台机器可以同时进行计算。完成后再进行reduce步骤,把每个单词的总的个数计算出来。
瞎写了几句,不知道能不能看明白。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....