Hive не может загрузить файл в таблицу, потому что не может найти его на складе hive - PullRequest
0 голосов
/ 21 декабря 2018

Я не могу загрузить данные в таблицу кустов, и журналы показывают эту проблему

файл, который я хочу загрузить:

[hdfs @ vmi200937 root] $ hdfs dfs-ls / suppression-files Найдено 1 элементов -rw-rw-rw- 3 hdfs hdfs 694218562 2018-12-21 05:06 /suppression-files/md5.txt

каталог улья:

[hdfs @ vmi200937 root] $ hdfs dfs -ls /apps/hive/warehouse/suppression.db Найдено 1 объектов drwxrwxrwx - улей hadoop 0 2018-12-21 06:30 / apps / hive / warehouse/suppression.db/md5supp

Hive Query:

hive (подавление)> ЗАГРУЗИТЬ ДАННЫЕ INPATH '/suppression-files/md5.txt' INTO TABLE md5supp;

Журналы:

Загрузка данных в таблицу suppression.md5supp Сбой с исключением: java.io.FileNotFoundException: каталог / файл не существует / apps / hive / warehouse / suppression.db / md5supp / md5.txt на org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner (FSDirectory.java:1901) на org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp.setOwner (FSDirAttrOp.java:82) в org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setOwner (FSNamesystem.java:1877) в org.apache.hadoop.hdfs.server.namenode.NameNodeRpwerNameNodeRpcServer.java:828) в org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setOwner (ClientNamenodeProtocolServerSideTranslatorPB.java:476) в org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod (ClientNamenodeProtocolProtos.java) в org.apache.hadoop.ipc.ProtobufRpcEngine $ Server $ ProtoBufRpcInvoker.call (ProtobufRpcEngine.java:640) в org.apache.hadoop.ipc.RPC $ Server.call (RPC.java:982) в org.ap.hadoop.ipc.Server $ Handler $ 1.run (Server.java:2351) в org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:2347) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:422) в org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1869) at org.apache.hadoop.ipc.Server $ Handler.run (Server.java:2347)

FAILED: ошибка выполнения, код возврата 40000 из org.apache.hadoop.hive.ql.exec.MoveTask.java.io.FileNotFoundException: каталог / файл не существует /apps/hive/warehouse/suppression.db/md5supp/md5.txt в org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner (FSDirectory.java:1901) в org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp.setOwner (FSDirAttrOp.java:82) в org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setOwner (FSNamesystem.java:1877) в орг.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setOwner (NameNodeRpcServer.java:828) в org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setOwoops.hb.Serg.Player.PlaySigner.PlayServer.Player.Player.Play.Play.Play.Play.Play.Play.Play.Play.Play.SL_L_D_D_D_W_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_W_S_S_S_S_S_S_2_2_serverprotocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod (ClientNamenodeProtocolProtos.java) в org.apache.hadoop.ipc.ProtobufRpcEngine $ Серверный $ ProtoBufRpcInvoker.call (Protobuf.Rec.Play.Rec..call (RPC.java:982) в org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:2351) в org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:2347) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:422) в org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1869) в org.apache.hadoop.ipc.Server $ Handler.run (Server.java:2347)

1 Ответ

0 голосов
/ 21 декабря 2018

Я нашел решение!Я должен просто установить для владельца каталога / suppression-файла значение hive: hdfs от hdfs dfs chown -R hive: hdfs / suppression-file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...