hive-建表、数据抽取及了解表信息
来源:互联网 发布:中联软件靠谱吗 编辑:程序博客网 时间:2024/06/04 19:03
hive部分
------------------st建表(无分区)
create external table st.表名 ( week int comment '周', PV int comment '访问量', UV int comment '访问人数', prdt_type string comment '项目类型', updatetime timestamp comment '更新时间' ) comment '流量统计(周)' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS TEXTFILE location '/dw/st/表名;
------------------st建表(有分区)
create external table st.tablename ( year_month int comment '月', PV int comment '访问量', UV int comment '访问人数', prdt_type string comment '项目类型', updatetime timestamp comment '更新时间' ) comment '流量统计(月)' partitioned BY (month string COMMENT '按月分区表字段') ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS TEXTFILE location '/dw/st/表tablename';
-
------------------default建表
create external table default.tablename ( year int comment '年', prjt_type string comment '业务类型', prdt_type string comment '项目类型', expr_cnt int comment '体验人数', new_expr_cnt int comment '新增体验用户数', charge_user_cnt int comment '收费用户数', new_charge_user_cnt int comment '新增收费用户数', back_user_cnt int comment '本期回流用户数', loss_user_cnt int comment '本期流失用户数', refund_user_cnt int comment '本期退费用户数', updatetime timestamp comment '更新时间' ) comment '用户统计' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS TEXTFILE location '/hive/default/tablename';
------------sqoop
sqoop-export --connect jdbc:mysql://mysqlDB:3306/BI_02 --username biadmin --password *** --table st02_stock_flow_week --input-null-string '\\N' --input-null-non-string '\\N' --input-fields-terminated-by '\001' --export-dir /dw/st/stock_flow_week;
----------调整hive表结构
ALTER TABLE dms.slpltfrm_usr_bsc_info ADD COLUMNS (aplan_name string comment'投顾志名字');
ALTER TABLE stage.comment_info CHANGE commentcount commentcount STRING comment'评论数' AFTER articleid;
----------有partition的插数
insert overwrite table default.fs_pg_statspartition (day='20160926')
-------------删除partition
ALTER TABLE st.fs_pg_stats DROP PARTITION(day='${day}');
-----------了解表信息
desc formatted dms.fund_trans_log2;desc extended dms.fund_trans_log2;
-------关于时间
一年前
select date_sub(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),365);
一年后
select date_add(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),365);
-------查看表是否锁死
show locks st.st02_eqt_flow_contrb_stats
------查看建表语句
show create table st.st02_eqt_flow_contrb_stats
-------增加分区
hive -e "alter table dms.rcmmnd_artcl add partition(day=${day}) location'/dw/dms/rcmmnd_artcl/day=${day}';"
------删除分区
hive -e "alter table dms.rcmmnd_artcl drop partition (day=${day});"
mysql部分
------------改变mysql表格的字段属性
alter table charts.stock_user_center modify column rcmmnd_stock text ;
-----------修改表的注释
alter table test1 comment '修改后标的注释'
---------修改字段的注释
alter table test1 modify column field_name int comment '修改后的字段注释'
---------------mysql建表
create table BI.表名( halfyear int comment '半年', PV int comment '访问量', UV int comment '访问人数', prdt_type string comment '项目类型', updatetime timestamp comment '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 comment '证券部流量统计(半年)'
-------------mysql增加表格字段
alter table charts.user_center_future add total_income double after yst_income;
-------------mysql删除数据
DELETE FROM users WHERE name = 'Mike' LIMIT 6;
--------------mysql插入数据
插入一行
insert into links values('jerichen','gdsz');
插入多行
insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');
-------update更新某个字段信息
UPDATE fs_flow_stats_dy SET ip='1674684' where dy='20160925' and bu='大网'
--------增加主键
ALTER TABLE charts.person_recom ADD PRIMARY KEY (uid,cid, rec_tag, ordr)
--------删除主键
Alter table charts.person_recom drop primary key
-----增加索引
ALTER TABLE table_name ADD INDEX index_name (column_list)
----删除索引
ALTER TABLE table_name DROP INDEX index_name
-- 在MySQL下运行完下面这个建表语句后。 如何从数据字典中,检索出这个表的字段的相关信息?
DROP TABLE IF EXISTS test_table; CREATE TABLE test_table(Test_ID int NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键(自增长)',Test_Key varchar(10) NOT NULL COMMENT '种类',Test_Value varchar(20) NOT NULL COMMENT '数值',Test_Type int NOT NULL COMMENT '内部类型',Test_BelongTo int COMMENT '从属关系' ,Test_Grade int DEFAULT 1 COMMENT '等级',Test_Remark varchar(50) COMMENT '备注',Test_Visible bit DEFAULT 1 COMMENT '是否可见')COMMENT = '测试表';<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
-- 答案是:
SELECT column_name AS '列名',data_type AS '数据类型', character_maximum_length AS '字符长度', numeric_precision AS '数字长度', numeric_scale AS '小数位数', is_nullable AS '是否允许非空', CASE WHEN extra = 'auto_increment' THEN 1 ELSE 0 END AS '是否自增', column_default AS '默认值', column_comment AS '备注' FROM Information_schema.columns WHERE table_Name='test_table';
补充说明:http://blog.knowsky.com/259955.htm
参考文档不太给力啊,表注释和字段注释的资料不全。
1 创建表的时候写注释
create table test1(field_name int comment '字段的注释')comment='表的注释';
2 修改表的注释
alter table test1 comment '修改后的表的注释';
3 修改字段的注释
-- 注意:字段名和字段类型照写就行alter table test1 modify column field_name int comment '修改后的字段注释';
4 查看表注释的方法
-- 在生成的SQL语句中看show create table test1;-- 在元数据的表里面看use information_schema;select * from TABLES where TABLE_SCHEMA='my_db' and TABLE_NAME='test1'
5 查看字段注释的方法
-- showshow full columns from test1;-- 在元数据的表里面看select * from COLUMNS where TABLE_SCHEMA='my_db' and TABLE_NAME='test1'
- hive-建表、数据抽取及了解表信息
- sqoop 实现mysql 到hive数据抽取
- 抽取ORACLE表数据到HIVE
- ORACLE-数据抽取及备份
- 文本数据挖掘之文本信息抽取
- 信息抽取技术及前景浅析读后感
- 信息抽取
- 信息抽取
- 信息抽取
- 信息抽取
- 信息抽取
- 利用talend将数据从orcale抽取,存到hive
- Sqoop从mysql抽取数据到hive中
- JDBC实现从Hive抽取数据导入Oracle
- Hive的元数据信息
- Hive 元数据信息查询
- hive元数据相关信息
- SQL-建表-随机抽取数据
- 深入浅出 RPC - 深入篇
- 09_DTD - 来自网络的实例
- hibernate学习(1)
- 10_您已经学习了 DTD,下一步呢?
- AndroidManifest.xml文件解析
- hive-建表、数据抽取及了解表信息
- 2016 UESTC Training for Dynamic Programming J - 柱爷抢银行II dp单调队列优化
- bzoj 1858 序列操作
- Python里的OS模块常用函数说明
- 博客已搬家
- <常量数组的应用> UVA 10082 WERTYU
- rbf神经网络的实现
- CodeForces 608D Zuma(DP)
- linux一些热键和man page