Не исключение файла при выборе после успешной вставки

Я создал таблицу:

DROP TABLE IF EXISTS sampleout;

CREATE EXTERNAL TABLE sampleout(
    id bigint,
    LNG FLOAT,
    LAT FLOAT,
    GMTDateTime TIMESTAMP,
    calculatedcolumn FLOAT
    )

ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE LOCATION 'wasb://[email protected]/';

Затем я добился успеха в этом запросе:

INSERT into TABLE   sampleout  select *, 0 as calculatedcolumn from sampletable

sampleout такое же, как sampletable, за исключением дополнительного столбца calculatedcolumn. После успешной вставки я открыл хранилище больших двоичных объектов и открыл текстовый файл, чтобы убедиться, что данные находятся в указанном расположении текстового файла.

Однако...

select * from sampleout limit 10

возвращает следующую ошибку:

Logging initialized using configuration in file:/C:/apps/dist/hive-0.13.0.2.1.12.1-0003/conf/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apps/dist/hadoop-2.4.0.2.1.12.1-0003/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apps/dist/hbase-0.98.0.2.1.12.1-0003-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
OK
Failed with exception java.io.IOException:java.io.IOException: Not a file: wasb://[email protected]/hive
Time taken: 3.032 seconds

как получается, что я могу успешно вставить, но не могу выбрать из таблицы? Обратите внимание, что ошибка показывает, что «/hive» добавлено к местоположению текстового файла, указанному в файле create.


person Roger    schedule 01.06.2015    source источник


Ответы (1)


В принципе, не ставьте TEXTFILE LOCATION в корень. Несмотря на то, что это хранилище больших двоичных объектов (без настоящих папок), структура, необходимая для HDFS или чего-то еще, требует, чтобы вы использовали хотя бы одну подпапку в расположении.

Переход от

wasb://[email protected]/

to

wasb://[email protected]/somefolder/

исправил проблему. Кредит: https://stackoverflow.com/users/4951010/andrew-moll

person Roger    schedule 02.06.2015