大数据技术入门

来源:互联网 发布:js window.url 编辑:程序博客网 时间:2024/05/19 14:54

1、Sqoop

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 
对于某些NoSQL数据库,它也提供了连接器。Sqoop类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。

2、avro

Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件。在Hadoop的其他项目中例如HBase(Ref)和Hive(Ref)的Client端与服务端的数据传输也采用了这个工具,Avro可以做到将数据进行序列化,适用于远程或本地大批量数据交互。在传输的过程中Avro对数据二进制序列化后节约数据存储空间和网络传输带宽。做个比方:有一个100平方的房子,本来能放100件东西,现在期望借助某种手段能让原有面积的房子能存放比原来多150件以上或者更多的东西,就好比数据存放在缓存中,缓存是精贵的,需要充分的利用缓存有限的空间,存放更多的数据。再例如网络带宽的资源是有限的,希望原有的带宽范围能传输比原来高大的数据量流量,特别是针对结构化的数据传输和存储,这就是Avro存在的意义和价值。Avro还可以做到在同一系统中支持多种不同语言,也有点类似Apache的另一个产品:Thrift(Ref),对于Thrift不同的是Avro更加具有灵活性,Avro可以支持对定义的数据结构(Schema)动态加载,利于系统扩展。

3、kafka

kafka入门:简介、使用场景、设计原理、主要配置及集群搭建:

http://www.cnblogs.com/likehua/p/3999538.html

Apache Kafka:下一代分布式消息系统:

http://www.infoq.com/cn/articles/apache-kafka

消息队列中点对点与发布订阅区别:

http://www.cnblogs.com/softidea/p/5587126.html


4、hive命令

  1. 在Hive shell下执行hadoop命令行:  
  2. #比如:hadoop fs -ls /,在hive下可以这样执行:  
  3. hive> dfs -ls /;  
  4.   
  5.   
  6. 在Hive shell下执行linux系统命令:  
  7. !cmd;  
  8. 例如:!pwd;打印当前工作目录  
  9.   
  10. 在Hive shell下执行sql文件:  
  11. hive> source my.sql;  
  12.   
  13. hive -S 以静默模式启动hive(不打印日志信息,纸打印结果);  
  14.   
  15. hive -e "HiveQL",不进入hive的交互模式,直接执行命令;  
  16.   
  17. 当然也可以结合静默模式一起使用:hive -S -e "HiveQL"  
hive -f  执行hql文件

hive -v 将执行的hql命令显示到命令行