文档详情

hive常常用命令教程.docx

发布:2017-05-03约8.1千字共8页下载文档
文本预览下载声明
???大数据学习总结 ? ? 公司对大数据方面也做了不少的培训,自己也学习了一些,在实际应用中也有所体会。针对大数据和关系型数据库有几点感触比较深刻: 1.数据存储位置不同。Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。 2.数据更新。由于 Hive 是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。因此,Hive 中不支持对数据的改写和添加,所有的数据都是在加载的时候中确定好的。而数据库中的数据通常是需要经常进行修改的,因此可以使用 INSERT INTO ...? VALUES 添加数据,使用 UPDATE ... SET修改数据.这也是在汇总数据比较痛苦的地方。~~(_)~~ 3.访问速度。hive 在查询时有延迟,因为没有索引需要扫描整个表,还有就是mapreduce框架,MapReduce本身具有较高的延迟,所以在利用它来执行hive 查询时就会多的延迟了。Hive 不适合在线数据查询,针对数据量比较小的表数据库更快一些。目前来说除了详单其他数据量还不是特别大,访问速度很多时候没有关系型数据库查询的快。 ????还有很多不同的地方,这里就不多说了,就简单说一下常用的命令吧: 一、Hive ?1.1建表: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name ? [(col_name data_type [COMMENT col_comment], ...)] ? [COMMENT table_comment] ? [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] ? [CLUSTERED BY (col_name, col_name, ...) ? [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] ? [ROW FORMAT row_format] ? [STORED AS file_format] ? [LOCATION hdfs_path] 举例说明: CREATE EXTERNAL TABLE IF NOT EXISTS IN_BILL_GG_D1512 (? SOURCE_TYPE???????????????? STRING ? ,BIZ_TYPE?????????????????? STRING ... ) PARTITIONED BY (dt string) ROW FORMAT DELIMITED? FIELDS TERMINATED BY , LINES TERMINATED BY \n LOCATION /etldata/cdr/gg/1512; 1.2Hive下查看数据表信息的方法: 方法1:查看表的字段信息 ??desc table_name; 方法2:查看表的字段信息及元数据存储路径 ??desc extended table_name; 方法3:查看表的字段信息及元数据存储路径 ??desc formatted table_name; Ef: hive desc formatted t_cdr_wn1609; OK # col_name data_type comment system_type string record_type string msisdn string real_number string start_datetime string end_datetime string call_duration int session_id
显示全部
相似文档