タイムスタンプで分割されたハイブ テーブルを sqoop エクスポートできません。
タイムスタンプで分割されたハイブ テーブルがあります。それが作成する hdfs パスには、sqoop で問題を引き起こしていると思われるスペースが含まれています。
fs -ls 2013-01-28 16:31 /user/hive/warehouse/my_table/day=2013-01-28 00%3A00%3A00
sqoop エクスポートからのエラー:
13/01/28 17:18:23 エラー security.UserGroupInformation: PriviledgedActionException as: ブランドン (認証: SIMPLE) 原因: java.io.FileNotFoundException: ファイルが存在しません: /user/hive/warehouse/my_table/day=2012- 10-29 00%3A00%3A00 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsUpdateTimes(FSNamesystem.java:1239) org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsInt(FSNamesystem. java:1192) org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1165) で org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1147) でorg.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:383) で、org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB で。getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:170) org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:44064) org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call.call (ProtobufRpcEngine.java:453) org.apache.hadoop.ipc.RPC$Server.call(RPC.java:898) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) でorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689) で java.security.AccessController.doPrivileged(ネイティブメソッド) で javax.security.auth.Subject.doAs(Subject.java:396) ) org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) で org.apache.hadoop.ipc.Server$Handler.run(Server.java:1687) で170) org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453) で) org.apache.hadoop.ipc.RPC$Server.call(RPC.java:898) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) で org.apache.hadoop org.apache. hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1687)170) org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453) で) org.apache.hadoop.ipc.RPC$Server.call(RPC.java:898) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) で org.apache.hadoop org.apache. hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1687)org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453) の callBlockingMethod(ClientNamenodeProtocolProtos.java:44064) org.apache.hadoop.ipc.RPC$Server.call(RPC.java: 898) org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689) で java.security で.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop .ipc.Server$Handler.run(Server.java:1687)org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453) の callBlockingMethod(ClientNamenodeProtocolProtos.java:44064) org.apache.hadoop.ipc.RPC$Server.call(RPC.java: 898) org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689) で java.security で.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop .ipc.Server$Handler.run(Server.java:1687)898) org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689) で java.security で.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop .ipc.Server$Handler.run(Server.java:1687)898) org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693) で org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689) で java.security で.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332) at org.apache.hadoop .ipc.Server$Handler.run(Server.java:1687)
fs -ls /user/hive/warehouse/my_table/day=2013-01-28 00%3A00%3A00 ls: /user/hive/warehouse/my_table/day=2013-01-28': No such file or directory
ls:
00%3A00%3A00': No such file or directory を実行した場合
引用符を追加すると機能します: brandon@prod-namenode-new:~$ fs -ls /user/hive/warehouse/my_table/day="2013-01-28 00%3A00%3A00" Found 114 items -rw-r --r-- 2 ブランドン スーパーグループ 4845 2013-01-28 16:30 /user/hive/warehouse/my_table/day=2013-01-28%2000%253A00%253A00/000000_0 ...