sqoop导入元异常(message:user user 没有createdatabase的权限)

9bfwbjaz  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(442)

我正在尝试使用sqoop将数据导入配置单元。当我从一个用户那里尝试这个脚本时,它工作了,但是从另一个用户那里,它失败了。
我的剧本如下:

import
--connect
jdbc:oracle:thin:@host:port/sid
--compression-codec
org.apache.hadoop.io.compress.SnappyCodec
--username
user
--password
pas
--query
query
--map-column-java
col=String
-hive-import
--hive-overwrite
--hive-drop-import-delims
--hive-database
db
--hive-table
table
--as-parquetfile
--split-by
col
--delete-target-dir
--target-dir
table
-m
1

据我所知,在这个脚本中没有执行数据库创建。我试过了,有没有Hive表已经存在。
为什么会抛出这个错误(如标题中所述)?

r3i60tvu

r3i60tvu1#

此脚本中没有执行数据库创建
这是常有的事。在下面的脚本行中:

--hive-database
db

请参阅sqoop文档。具体来说是:
脚本将通过调用运行sqoop的机器上已安装的配置单元副本来执行
在内部,sqoop将调用hive来执行导入。将使用配置单元的默认身份验证机制。这就解释了为什么它和用户一起工作 A 谁有权 create database 在配置单元中,但在用户调用时失败 B 他们可能没有这种特权。
通过调用配置单元命令行进行验证,并尝试运行 CREATE DATABASE 声明。

相关问题