天天看點

入門級大資料Hadoop、Hive常用操作文法sql工作整理

  大資料概念入門:

  Hadoop分布式檔案系統,HDFS是一個高度容錯性的系統,能提供高吞吐量的資料通路,非常适合大規模資料集上的應用。 HDFS不适合用在:要求低時間延遲資料通路的應用,存儲大量的小檔案,多使用者寫入,任意修改檔案。

  1.客戶把一個檔案存入HDFS,其實HDFS會把這個檔案切塊後,分散存儲在N台linux機器系統中(data node)2.記錄使用者的每一個檔案的切塊資訊,及每一塊的具體存儲機器(name node)總結:一個HDFS系統,可由一台運作了namenode的伺服器,和N台運作了datanode的伺服器組成!

  Hive資料庫&表常見操作

  Hive資料庫操作

  1.檢視所有資料庫 show databases;

  2.使用資料庫 use ods_shiva_ground;

  3.顯示包含ods_字首的資料庫名稱 show databases like 'test_*';

  4.建立資料庫 create database db_name;

  5.删除資料庫 drop database db_name;

  Hive表操作

  1.顯示資料庫中的表 show tables;

  2. 顯示包含driver的資料表名稱 show tables like ‘driver';

  3.顯示表的詳細資訊 desc [formatted] tt_driver_task;

  4.顯示表的分區資訊 show partitions tt_driver_task;

  5.顯示表的show create table tt_driver_task;

  Hive建立表操作

  執行個體

  CREATE TABLE

dm_test.test_deduct_item

(

  

id

bigint COMMENT'主鍵ID 自增長',

code

string COMMENT '資料項編碼',

name

string COMMENT '資料項名稱',

create_by

string COMMENT '建立人工号',

create_time

string COMMENT '建立時間',

update_by

string COMMENT '更新人工号' ,

update_time

string COMMENT '更新時間'

  )

  COMMENT'項資料表'

  PARTITIONED BY (

in_day

string COMMENT '按天分區 yyyymmdd')

  ROW FORMAT SERDE

  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'

  STORED AS INPUTFORMAT

  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'

  OUTPUTFORMAT

  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat';

  Hive修改表操作

  增加/删除分區

  ALTER TABLE tb_name ADD [IF NOT EXISTS] PARTITION (partition_col1=value1) [ LOCATION 'location_path' ]

  ALTER TABLE tb_name DROP PARTITION (partition_col1=value1, partition_col2=value2, ...)

  重命名表

  ALTER TABLE tb_name RENAME TO new_tb_name

  修改别的

二手手機靓号拍賣

名字、類型、位置、注釋

  ALTER TABLE tb_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]

  增加/更新列

  ALTER TABLE tb_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)