zoukankan      html  css  js  c++  java
  • hive导入数据

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

    替换分隔符为01 sed -i 's/ /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码的控制符01,建表的时候用fields terminated by '01',如果要测试的话,造数据在vi 打开文件里面,用ctrl+v然后再ctrl+a可以输入这个控制符01。按顺序,02的输入方式为ctrl+v,ctrl+b。以此类推。 

    当前我们新建的Hive表中,默认fields terminated by没有设置,那么就使用'01'。
     
    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
  • 相关阅读:
    shell cut
    查询表名
    RandomAccessFile
    eclipse 背景颜色
    JAVA 获取分行符
    date time insert
    shell date time
    python
    gdg shell
    shell入门之变量测试
  • 原文地址:https://www.cnblogs.com/linn/p/6182769.html
Copyright © 2011-2022 走看看