zoukankan      html  css  js  c++  java
  • hivesql导出本地文件

    介绍

    做数据分析的时候,经常会用到hive -e "sql" > xxx.txt或者最原始的hive命令行来获得查询结果,然后再将查询结果放到Excel等工具中,但是如果查询的字段太多,这时候将查询结果放到Excel会经常会碰到错位问题,很是头疼.

    解决方案一:借助linux管道替换输出分隔符

    样例如下:

    # 方法一:sed
    
    hive -e "select * from db.table_name" | sed 's/	/,/g' > ./abc.txt
    
     
    
    # 方法二:tr
    
    hive -e "select * from db.table_name" | tr "	" ","

    结果查看如下:

    $ cat abc.txt 

    解决方案二:借助Hive的insert语法

    代码如下:

    insert overwrite local directory 'path'
    row format delimited
    fields terminated by ','
    select xxxx 
    from xxxx;

    上面的sql将会把查询结果写到指定目录中,字段之间以‘,’分隔

    结果如下:

    $ ls path
    000000_0
     

    官方介绍:

    Standard syntax:
    INSERT OVERWRITE [LOCAL] DIRECTORY directory1
      [ROW FORMAT row_format] [STORED AS file_format] (Note: Only available starting with Hive 0.11.0)
      SELECT ... FROM ...
     
    Hive extension (multiple inserts):
    FROM from_statement
    INSERT OVERWRITE [LOCAL] DIRECTORY directory1 select_statement1
    [INSERT OVERWRITE [LOCAL] DIRECTORY directory2 select_statement2] ...
    row_format
      : DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char]
            [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
            [NULL DEFINED AS char] (Note: Only available starting with Hive 0.13)
  • 相关阅读:
    软件项目成员的业绩考核
    COM, COM+ and .NET 程序集的区别
    .Net 应用框架设计系列(二)
    怎样在Web开发中完美控制IE标题栏
    影楼系统
    PHP读取ACCESS数据到MYSQL
    简单分享apache 封 IP 的方法
    详解Apache下.htaccess文件常用配置
    fleaphp常用方法分页之Pager
    php遍历文件夹读取文件夹中图片并分页显示图片
  • 原文地址:https://www.cnblogs.com/wenBlog/p/14263325.html
Copyright © 2011-2022 走看看