0

私はHiveRowsの下にあります。最初のものは機能し、テーブルを作成します。2 つ目は読み込み中に失敗します。

--HiveRow1
"create table hotel_price_data (hotel string, room string, bus_date string, price string)
row format delimited fields terminated by '|' location '/tmp'"
--HiveRow2
"LOAD DATA LOCAL INPATH 'C:/tmp/out.txt' OVERWRITE INTO TABLE  hotel_price_data"

HiveRow1 が機能し、サンドボックス UI で作成されたテーブルを表示できます。

HiveRow2、ローディング部分は現在問題です。

##########エラー
13/07/24 19:45:55 INFO parse.ParseDriver: Parsing command: LOAD DATA LOCAL INPATH 'C:/tmp/out.txt' OVERWRITE INTO TABLE  hotel_price_data
13/07/24 19:45:55 INFO parse.ParseDriver: Parse Completed
13/07/24 19:45:55 INFO hive.log: DDL: struct hotel_price_data { string hotel, string room, string bus_date, string price}
FAILED: Hive Internal Error: java.lang.RuntimeException(java.net.UnknownHostException: **unknown host: sandbox**)
java.lang.RuntimeException: java.net.UnknownHostException: unknown host: sandbox
    at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:170)
    at org.apache.hadoop.hive.ql.Context.getExternalScratchDir(Context.java:222)
    at org.apache.hadoop.hive.ql.Context.getExternalTmpFileURI(Context.java:315)
    at org.apache.hadoop.hive.ql.parse.LoadSemanticAnalyzer.analyzeInternal(LoadSemanticAnalyzer.java:225)
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:431)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:336)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:909)
    at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:191)
    at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:187)
    at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:127)
    at talenddemosjava.hive_connection_0_1.hive_connection.tHiveRow_4Process(hive_connection.java:1314)
    at talenddemosjava.hive_connection_0_1.hive_connection.tHiveRow_1Process(hive_connection.java:1245)
    at talenddemosjava.hive_connection_0_1.hive_connection.tHiveRow_2Process(hive_connection.java:1132)
    at talenddemosjava.hive_connection_0_1.hive_connection.tFileInputDelimited_1Process(hive_connection.java:1019)
    at talenddemosjava.hive_connection_0_1.hive_connection.tHiveConnection_1Process(hive_connection.java:461)
    at talenddemosjava.hive_connection_0_1.hive_connection.runJobInTOS(hive_connection.java:1628)
    at talenddemosjava.hive_connection_0_1.hive_connection.main(hive_connection.java:1494)
Caused by: java.net.UnknownHostException: **unknown host: sandbox**
4

1 に答える 1

0

これが Windows でどのように機能するかはわかりませんが、ファイルパスC:/tmp/out.txtが正しくないと思います。マニュアルによると、 「ファイルパスは次のようになります。

  • 相対パス、例: project/data1
  • 絶対パス、例: /user/hive/project/data1
  • スキームと (オプションで) 権限を含む完全な URI。例: hdfs://namenode:9000/user/hive/project/data1"

を使用してロードする前に、ファイルを HDFS ストレージに置く必要がありますLOAD DATA LOCAL INPATHC:/tmp/out.txtHDFSではなく、ローカルストレージ上のファイルを参照していると思います。コマンドを使用hdfs -put してファイルをアップロードできます

于 2013-07-25T07:32:54.177 に答える