改变hive导出文件的分隔符

工作中遇见一个问题。

hive>insert overwrite local directory ‘/home/hadoop/tmp/ts‘ select 列1,列2,列3 from table;

这样导出 含有 特殊字符,数据不能直接导入到excel表格中,UE或sublime打开也都存在特殊字符。特殊字符是hive预定义的,具体可以看官方文档。

使用 ‘\t‘ (即TAB键)作为分隔符,也可以是其他的分隔符。

hive> insert overwrite local directory ‘/home/hadoop/tmp/ts‘
hive> row format delimited
hive> fields terminated by ‘\t‘
hive> select * from table;

这样就可以顺利导入。

在目录中写入文件,是直接干掉先前存在的数据,再存入;

目录不存在,直接创建。

时间: 2024-10-15 19:29:04

改变hive导出文件的分隔符的相关文章

hive如何处理多分隔符数据

问题描述: 大数据维稳需求中,客户提供的测试数据为多个字符做分隔符('|#'),在pig中会直接报错,hive中只认第一个分隔符. 由于数据量比较大(160G),在文本中替换成单个字符分隔符已不现实,以下提供两个方案解决这一问题. 样例数据 110|#警察 120|#医院 方案1:利用hive自带的序列化/反序列化的方式RegexSe add jar /home/cup/software/--/hive-contrib-0.10.0-cdh4.4.0.jar; create table test

Hive建表-分隔符

在hive建表中,默认的分隔符为  ‘,’ ,可以指定想用的分隔符 hive默认的列分割类型为org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe,这其实就是^A分隔符,hive中默认使用^A(ctrl+A)作为列分割符,如果用户需要指定的话,等同于row format delimited fields terminated by '\001',因为^A八进制编码体现为'\001'.所以如果使用默认的分隔符,可以什么都不加,也可以按照上面的指定加‘

hive sql split 分隔符

Hive字符串分割函数 split(str, regex) - Splits str around occurances that match regexTime taken: 0.769 seconds, Fetched: 1 row(s) 返回值为一个数组 a.基本用法: 例1: split('a,b,c,d',',') 得到的结果: ["a","b","c","d"] b.截取字符串中的某个值: 当然,我们也可以指定取结

SHELL里执行HIVE导出文件处理成CSV文件

#!/bin/bash#用途:#1.当前目录的txt文件批量转csv#2.制表符转逗号分隔符#3.NULL去除#4.删除WARN警告for i in `ls ./*.txt`    do      sed -e 's/\t/,/g' -e 's/NULL//g' -e '/^WARN:/d' $i >$i.csv    done 原文地址:https://www.cnblogs.com/junstudys/p/9420545.html

Hive - 常用命令

1. 创建表 创建表的语句: Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORT

【原】hive 操作笔记

1.建表: hive> CREATE TABLE pokes (foo INT, bar STRING);hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);由于很多数据在hadoop平台,当从hadoop平台的数据迁移到hive目录下时,由于hive默认的分隔符是/u0001,为了平滑迁移,需要在创建表格时指定数据的分割符号,语法如下:create table ooo(uid string,n

hive 的判断条件(if、coalesce、case)

CONDITIONAL FUNCTIONS IN HIVE Hive supports three types of conditional functions. These functions are listed below: IF( Test Condition, True Value, False Value ) The IF condition evaluates the "Test Condition" and if the "Test Condition&quo

hive建表并load数据小结

一.建表的时候要指明分隔符 hive建表时默认的分隔符是'\001',若在建表的时候没有指明分隔符,load文件的时候文件的分隔符需要是'\001'的, 若文件分隔符不是'\001',程序不会报错,但表查询的结果会全部为'NULL', 如何制作分隔符为'\001'的测试文件 用vi编辑器Ctrl+v然后Ctrl+a就可以通过键盘输入'\001' 也可以在建表的时候指明分隔符为制表符,然后测试文件用excel制表符制作, 例如: create table pokes(foo INT,bar STR

hive建表语句

原文:http://jingyan.baidu.com/article/a378c96092cf56b328283006.html 创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_com