hadoop的数据存储

我从别的关系型数据库导数据到hadoop集群,如:mysql,oracle等数据库。是直接导入到hdfs上好?还是导入到hbase里好?存在这两者里,各有什么不同?数据我是用来分析的,比如查询,或者其他。
因为hbase里的数据格式和其他数据库里的不一样,可以直接拿来用,但是hdfs是以文件形式存储的

存放到HDFS 一般都是要分析的数据。分析完成的数据直接存储到MYSQL 或者ORACLE 中。这种处理方式是离线处理。如日志文件存储到hdfs 分析出网站的流量 UV PV 等等。一般都是用pig hive 和mr 等进行分析的。

存放到HBASE 一般都是数据拿过来直接用的。而且他是实时的。也就是说数据就是成型的而且不需要进行分析就能得到结果的数据。

大致就是这么个意思。有点啰嗦了。追问

但是,存储在hdfs的数据 都是以文件形式存在的,这个要大概怎么使用呢?比如说用Hive分析,它大概就是用sql语句来实现。这里文件形式能当作表来使用?因为我导入数据的时候似乎一个文件对应了一张表。

追答

当前可以当做表了。如用sqoop同步一张表到hdfs 。 -fields-terminated-by "\t"

001 admin 22
002 y 23
003 customer 44
用hive或者pig 分析出年龄大于22的多少人。
A= load '/table' using PigStorage('\t') as (id , name ,age:int)

B=Filter A by age>22;
C= group B ALL;
D=foreach C generate COUNT(B) as totalCount;
DUMP D ;
然后把D 存储到关系型数据库供业务系统直接调用,。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网