删除文档的第一行,文件导出第一行为列名
sed -i '1d' <file>
取第一行为日期的
cat hall.log | grep '2017-' > 0928.txt

替换分隔符为\01 sed -i 's/\t/\x1/g;s/;/\x1/g' test1.txt gz压缩 gzip -r test1.txt 查看文件 hdfs dfs -ls /hive/warehouse/ods_jungle_ad.db/table1/dt=2016-12-15 导入文件
hive -i /data/app/offline_analyse/conf/hive/init_hive.sql 

use ods_db;
load data local inpath
'/home/hadoop/test/test1.txt.gz' into table table1 partition (dt = '2016-12-15')

 hive 默认的字段分隔符为ascii码的控制符\001,建表的时候用fields terminated by '\001',如果要测试的话,造数据在vi 打开文件里面,用ctrl+v然后再ctrl+a可以输入这个控制符\001。按顺序,\002的输入方式为ctrl+v,ctrl+b。以此类推。 

当前我们新建的Hive表中,默认fields terminated by没有设置,那么就使用'\001'。
 
create table muses_role_log
(
  table_name string,
  id int,
  type string,
  big_date string
)
partitioned by (dt string)

 

 关键字[INTO]意思是追加到表,[OVERWRITE]意思是是覆盖原表里的数据。
 关键字[LOCAL]是指你加载文件的来源为本地文件,不写则为hdfs的文件。

 

如果是用程序接口直接写hdfs,需要执行如下语句hive才能访问

alter table ods_log.bigtable_log add partition (dt='2017-01-09',game_id='test');

  删除错误数据。直接删除分区(删除分区后需要添加分区,不让HIVE没法显示数据)

alter table tlog_bigtable drop partition(dt='2017-11-28' , game_id = 'gz_m')

全表删除

truncate table gz_m

 

posted on 2016-12-15 12:33  凌度  阅读(1400)  评论(0编辑  收藏  举报