mysql hive操作数据

hive load 数据
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]


原文件 demo1000.txt中只有一列数据,


例1:
CREATE TABLE mytest (bar STRING,title STRING) ;


load data local inpath '/home/idexadmin/bigDataEngeine/demo1000.txt' overwrite into table  mytest;
load进两个都是string字段的mytest表,会把数据存储在第一个字段内,第二个字段为空


例2;
CREATE TABLE mytest (bar STRING) ;
load data local inpath '/home/idexadmin/bigDataEngeine/demo1000.txt' overwrite into table  mytest;
存储成功


例3:


CREATE TABLE mytest (bar int) ;
load data local inpath '/home/idexadmin/bigDataEngeine/demo1000.txt' overwrite into table  mytest;
第一个字段的类型为int或者其他的,而文件中的数据为string ,执行load不会报错,但是该表没有数据存在。


例4:
分区load
 LOAD DATA LOCAL INPATH '/home/idexadmin/bigDataEngeine/s.txt' INTO TABLE mytest partition (bar = "s")
s.txt 为s数据的集合


hive -e 执行load


例子:
hive -e "CREATE TABLE mytest (bar STRING)"
hive -e "load data local inpath '/home/idexadmin/bigDataEngeine/demo1000.txt' overwrite into table  mytest"


HIVE -e执行load和在hive环境中执行load的情况一样,此处不再赘述。


hive 把查询结果输出到文件
hive  -e "SELECT * FROM pokes" > /home/idexadmin/doc.txt


Hive 查询结果插入到hive表中
hive  -e "insert into table pokes select * from mytest"(追加)
hive  -e "insert overwrite table pokes select * from mytest" (覆盖)




mysql 命令行load数据
 mysql -u idexadmin -pidex000 -h 203.156.255.159 -P 3306 -D test  -e "LOAD DATA LOCAL INFILE '/home/idexadmin/k20.txt' INTO TABLE Test(name,age)"
 
mysql 命令行查询结果输出到文件
mysql -u idexadmin -pidex000 -h 203.156.255.159 -P 3306 -D test  -e "select  *  from Test  " > /home/idexadmin/out.txt
 
 
mysql 导出数据指定分隔符
mysql -uidexadmin -pidex000 -h 203.156.255.159 -P 3306 -e "SELECT * INTO OUTFILE '/tmp/ok.txt' FIELDS TERMINATED BY ',' FROM test.Test;"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值