• HDFS文件和HIVE表的一些操作


    1. hadoop fs -ls  可以查看HDFS文件

    后面不加目录参数的话,默认当前用户的目录。/user/当前用户

    $ hadoop fs -ls
    16/05/19 10:40:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Found 3 items
    drwxr-xr-x   - yy yy          0 2016-04-24 08:00 .Trash
    drwx------    - yy yy          0 2016-05-06 06:00 .staging
    drwxr-xr-x   - yy yy          0 2016-05-06 06:00 oozie-oozi
    

    也可以加目录,显示指定目录的HDFS文件。

    $ hadoop fs -ls /user/yy
    16/05/19 10:44:07 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Found 3 items
    drwxr-xr-x   - yy yy          0 2016-04-24 08:00 /user/yy/.Trash
    drwx------    - yy yy          0 2016-05-06 06:00 /user/yy/.staging
    drwxr-xr-x   - yy yy          0 2016-05-06 06:00 /user/yy/oozie-oozi
    

    2. hadoop fs -mkdir 可以创建文件夹

    $ hadoop fs -mkdir upload 

    hadoop fs –rmr  可以删除文件夹/文件

    3. hadoop fs -put 可以上传本机的HDFS文件

    hadoop fs -put  pc/*  upload
    

    hadoop fs -get 可以把HDFS的文件下载到本机

    hadoop fs -put   upload/collect_20160518.txt   /home/yy
    

    4. hadoop fs -cat 可以读取HDFS文件

    $ hadoop fs  -cat  upload/collect_20160515.txt|head -10

    5. HDFS 和hive表

    external 外部分区表:

    1)HDFS文件,要按分区存储,比如下面,分区为dt,对应的是2016-05-19下面的文件。

    /user/yy/upload/wireless/2016-05-19

    2)创建external表指向该存储(分区的上一层)

    drop table if exists external_weblog_wireless;
    create external table external_weblog_wireless 
    (
    thedate string,
    time_stamp string,
    url_title string
    )
    partitioned by (dt string)  
    row format delimited fields terminated by ',' 
    stored as textfile location '/user/yy/upload/wireless/';
    

    3)添加新分区,指向分区目录

    alter table external_weblog_wireless add partition (dt='2016-05-19') location '/user/yy/upload/wireless/2016-05-19';
    

    4) 这种外部表分区存储,很适合增量数据。

    external外部非分区表:

    直接指向存储的最终location,建表即生成了数据表。

    drop table if exists external_weblog_wireless;
    create external table external_weblog_wireless 
    (
    thedate string,
    time_stamp string,
    url_title string
    )
    partitioned by (dt string)  
    row format delimited fields terminated by ',' 
    stored as textfile location '/user/yy/upload/wireless/2016-05-19';

    6. hive 表导出(待补充)

     

    注意:

    1. hadoop fs 和hdfs dfs 作用一样。都可以在本机上查看HDFS文件。
    2. HDFS下的文件可以压缩存储,这样能够减少表查询时对Hadoop集群的IO。

              压缩可以按正常的linux压缩,比如 tar -zvcf,.tar.gz

              也可以按hadoop的格式压缩。

              压缩后,跟普通文件一样上传即可。

         3. 常用的几个查询tips

         查看分区: show partitions 表名;

         查看创表语句:show create table 表名;

    7. 提交MAPREDUCE JOB

    原则上说,Hadoop所有的MapReduce Job都是一个jar包。

    运行一个/home/admin/hadoop/job.jar的MapReduce Job

    1. 进入HADOOP_HOME目录。
    2. 执行sh bin/hadoop jar /home/admin/hadoop/job.jar [jobMainClass] [jobArgs]

    8. 杀死某个正在运行的JOB

    假设Job_Id为:job_201005310937_0053

    1. 进入HADOOP_HOME目录。
    2. 执行sh bin/hadoop job -kill job_201005310937_0053
  • 相关阅读:
    HDU 3586 Information Disturbing (树形DP+二分)
    HDU 6053 TrickGCD (莫比乌斯函数)
    51Nod 1554 欧姆诺姆和项链 (KMP)
    HDU 6153 A Secret (KMP)
    HDU 6156 Palindrome Function (数位DP)
    HDU 6148 Valley Numer (数位DP)
    UVa 1513 Movie collection (树状数组)
    HDU 6125 Free from square (状压DP+背包)
    UVa 10766 Organising the Organisation (生成树计数)
    tensorflow 待阅读的资料
  • 原文地址:https://www.cnblogs.com/skyEva/p/5508381.html
Copyright © 2020-2023  润新知