分享

从开发角度来理解HDFS与传统数据库之间的关系

pig2 2014-2-7 13:59:51 发表于 总结型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 6277
1.理解分布式
HDFS我们都知道它是分布式存储系统,分布式系统和我们PC机的硬盘存储有什么不同。
多台电脑有多个硬盘,算不算分布式。不是的。我们有一个管理者,但是存储的数据分布在多台pc机中,才是分布式。
2.HDFS与传统数据之间的联系
我们理解了分布式,那么什么是HDFS,或许我们知道了他的概念,结构。这里我们从另外角度看待HDFS。我们知道传统数据库有mysql,sqlserver等。那么数据能够存储在硬盘中,那么我们为什么还需要数据库。

数据库存储在在计算机存储设备上的,而且数据是按一定格式、一定规律存放的,把它们保存起来近一步的处理,进一步的抽取有用的信息。它和各种开发语言相结合,达到让数据有序的,有规律的,按照人的意愿,呈现出来。


我们能够看到数据库存储在硬盘上的。HDFS是一个分布式文件存储系统,同样也存储在硬盘上。HDFS 通过 dfs.data.dir 字段在配置文件中查询 DFS 的数据在本地文件系统中的存放位置。
3.HDFS与传统数据操作之间对比
1.查询数据:


查看hdfs的根目录下的内容的
  hadoop fs -ls  /
  select * from table  显示表中数据

2.创建分类

在hdfs上创建文件夹example
  hadoop fs -mkdir /example

数据中创建表
  create table example
(
id int identity(1,1),
content varchar(10) ,
constraint pk_test_id primary key(id)
)

3.插入数据

hadoop fs -put <linux source> <hdfs destination> 把数据从linux上传到hdfs的特定路径中

insert into [dbo].[表名]([字段1],[字段2],...,[字段n]) values ('值1','值2',。。。,'值n');

4.删除
  hadoop fs -rm        删除hdfs中文件


DELETE * FROM table_name

通过以上我们在利用hadoop开发方向上或许又有了进一步的理解。下面可以查看:
Java创建hdfs文件实例
hadoop实战:Java对hdfs的编程


来自群组: Hadoop技术组

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条