一、使用Load语句进行数据的导入
-语法:
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcoll = vall, partcol2 = val2 ...)]
*将student01.txt数据导入t2 (t2表没有指定分隔符)
load data local inpath '/root/data/student01.txt' into table t2;
select * from t2--查询检查(需要在建表的时候确定数据分隔符是否与导入数据来源相同,不同的话,数据全为NULL)
*将/root/data下的所有数据文件导入t3表中,并且覆盖原来的数据 (t3表分隔符是逗号)
load data local inpath '/root/data/' overwrite into table t3;
*将HDFS中,/input/student01.txt 导入到t3;(HDFS中的文件导入,不需要添加‘local')
load data inpath '/input/student01.txt/ overwrite into table t3;
*将数据导入分区表
load data local inpath '/root/data/data1.txt' into table partition_table partition (gender = 'M');
二、使用Sqoop进行数据的导入
下载jar包:http://sqoop.apache.org/
解压 :
tar -zxvf sqoop-1.4.5.bin__hadoop-0.23.tar.gz
设置环境变量 :(~/training/hadoop-2.4.1/为hadoop的安装目录)
export HADOOP_COMMON_HOME=~/training/hadoop-2.4.1/ export HADOOP_MAPRED_HOME=~/training/hadoop-2.4.1/
使用sqoop导入Oracle数据到hdfs中
./sqoop import --conncet jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp --columns 'empno,ename,job,sal,deptno' -m l --target-dir '/sqoop/emp'
--connect:指定jdbc连接的URL地址,用户名,密码
--table:指明导入的表
--columns:指明导入表的列
-m: mapreduce 的 进程数
--target-dir:导入到hdfs的目录
使用sqoop导入Oracle数据到Hive中
./sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp -m l --columns 'empno,ename,job,sal,deptno'
指明表的名字
./sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp -m l --columns 'empno,ename,job,sal,deptno' --hive-table empl
使用where条件
./sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp -m l --columns 'empno,ename,job,sal,deptno' --hive-table empl2 where age>10
注意:如果要换行需要在后面加上 \(空格和\),如:
./sqoop import --hive-import \ --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl \ --username scottt --password tiger
来源:CSDN
作者:xinxindsj
链接:https://blog.csdn.net/xinxindsj/article/details/103782398