首先启动hadoop与mysql服务
切换到hadoop用户,输入命令: hive
查看数据库show databases;
PS:hive默认只有一个defalut数据库
可以通过create database 库名;创建数据库
PS:其实一个库就是一个虚拟路径
可以在hive命令行输入show create database dm;查看详细信息
切换数据库 use 数据库;
创建表,
CREATE TABLE IF NOT EXISTS test100 (
ID int,Homephone String,NAME String,CARD_ADN_OTHERCARD String)
COMMENT 'test100'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY ' '
STORED AS TEXTFILE;
上面的我指定的分隔符是逗号,也可以填不可见字符以unicode的方式
PS:创建表的时候需要指定分隔符(有的客户指定不可见分割符如 u0001 ,具体参照ASCII码表前96个),如果键盘上有小键盘的话可以按住Alt键+码表数字,打出不可见字符,须在notepad打
CREATE TABLE IF NOT EXISTS CS2 (
ID int,NAME String,IDENTIFICATION_CARD String,PHONE String,EMAIL String,ADRESS String,BANK_CARD String,BUSINESS_NAME String,BUSINESS_LICENSES String,ORGANIZATION_CODE String,TAXPAYER_IDENTITY_NUMBER String,POSTCODE String,NAME_AND_BUSINESS_NAME String,CARD_ADN_OTHERCARD String)
COMMENT 'cs2'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY ' '
STORED AS TEXTFILE;
查看创建表详细信息 show create table 表名;
test100.txt文件中的数据列之间是使用 分割的,可以通过下面的语句将这个文件里面的数据导入到wyp表里面,操作如下:
hive> load data local inpath ‘tmp/test100.txt' into table dm;
Copying data from file:/home/wyp/wyp.txt
Copying file: file:/home/wyp/wyp.txt
Loading data to table default.wyp
Table default.wyp stats:
[num_partitions: 0, num_files: 1, num_rows: 0, total_size: 67]
OK
Time taken: 5.967 seconds