下面是错误消息:
无法将源hdfs://sandbox-hdp.hortonworks.com:8020/user/maria_dev/DimDepartmentGroup/part-m-00000移动到拒绝的目标hdfs://sandbox-hdp.hortonworks.com:8020/warehouse/tablespace/managed/hive/dbodimemployee/delta_0000001_0000001_0000:权限: user=hive、access=WRITE、inode="/user/maria_dev/DimDepartmentGroup":maria_dev:hdfs:drwxr-xr-x
我完全糊涂了。错误消息本身显示Maria_dev对文件夹inode="/user/maria_dev/DimDepartmentGroup":maria_dev:hdfs:drwxr-xr-x具有写权限。
我错过了什么?
发布于 2019-06-22 20:55:03
运行Sqoop时,**通常**它首先从外部数据库加载数据,然后将其存储为给定位置的多部分文件( (--target-dir /goldman/yahoo) ),然后从该位置存储到胞表(--hive-table topclient.mpool)。
现在,您可以在2级上拒绝访问。
1)如果在/goldman/yahoo文件位置看到访问被拒绝,那么将文件定位访问设置为777,作为hdfs用户- sudo -u hdfs hadoop fs -chmod 777 /goldman/yahoo运行。
2)如果在创建表时发现访问被拒绝,请以用户hive的身份运行sqoop命令,因为用户hive可以访问单元表,即sudo -u hive sqoop import --connect 'jdbc:sqlserver://test.goldman-invest.data:1433;databaseName=Investment_Banking' --username user_***_cqe --password ****** --table cases --target-dir /goldman/yahoo --hive-import --create-hive-table --hive-table topclient.mpool
发布于 2019-03-05 22:19:25
终于,我开始工作了。我以root用户身份登录,并使用su - hive切换到单元用户。然后,我成功地运行了SQOOP命令。以前,我以maria_dev身份登录,无法使用su命令。我没有用户蜂箱的密码,因为hive不是HDP沙箱中的常规用户。
尽管如此,我仍然感到奇怪的是,用户需要有根访问权才能将一些数据加载到HDP蜂箱中。
https://stackoverflow.com/questions/54996600
复制相似问题