A. 我用sqoop从oracle导入数据到hdfs时,总是报 表或视图不存在错误,求解答...
通过配置本地数据库的tns配置文件实现:
去oracle安装目录下oracle\proct\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了
B. sqoop问题,求帮助
这里所说的在Java中执行Hive命令或HiveQL并不是指Hive Client通过JDBC的方式连接HiveServer(or HiveServer2)执行查询,而是简单的在部署了HiveServer的服务器上执行Hive命令。
C. 我在linux的hadoop1.2.1上安装sqoop1.99.3,命令sqoop.sh server stop命令出错。
脚本内容如下:
#!/bin/bash
#CURR_DATE=`date +"%Y-%m-%d %H:%M:%S"`------>不能使用
v_sql="insert into origin_ennenergy_energytrade.test2 values('"$(date +"%Y-%m-%d %H:%M:%S")"','"Y"')"
echo $v_sql
#insert into origin_ennenergy_energytrade.test2 values('2016-08-09 10:39:44','Y')
hive -e "$v_sql;"
sqoop export --connect jdbc:MySQL://ip:3306/test23?characterEncoding=utf8 --username root --password 123--table test2--export-dir /user/Hive/warehouse/origin_ennenergy_energytrade.db/test2/* --input-fields-terminated-by "\t" --update-mode allowinsert --update-key times;
D. 如何用sqoop将hive分区表信息导入到mysql命令
如何用sqoop将hive分区表信息导入到mysql命令
直接导入hive表
sqoop
import
--connect
jdbc:postgresql://ip/db_name--username
user_name
--table
table_name
--hive-import
-m
5
内部执行实际分三部,1.将数据导入hdfs(可在hdfs上找到相应目录),2.创建hive表名相同的表,3,将hdfs上数据传入hive表中
sqoop根据postgresql表创建hive表
sqoop
create-hive-table
--connect
jdbc:postgresql://ip/db_name
--username
user_name
--table
table_name
--hive-table
hive_table_name(
--hive-partition-key
partition_name若需要分区则加入分区名称)
导入hive已经创建好的表中
sqoop
import
--connect
jdbc:postgresql://ip/db_name
--username
user_name
--table
table_name
--hive-import
-m
5
--hive-table
hive_table_name
(--hive-partition-key
partition_name
--hive-partition-value
partititon_value);
使用query导入hive表
sqoop
import
--connect
jdbc:postgresql://ip/db_name
--username
user_name
--query
"select
,*
from
retail_tb_order
where
\$CONDITIONS"
--hive-import
-m
5
--hive-table
hive_table_name
(--hive-partition-key
partition_name
--hive-partition-value
partititon_value);
注意:$CONDITIONS条件必须有,query子句若用双引号,则$CONDITIONS需要使用\转义,若使用单引号,则不需要转义。
E. sqoop2报错,哪位大神指点迷津。
list-databases
命令有误,list与-databases之间不应该有空格!