"No file" exception on selection after successful insertion

I created a table:

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:// sampleout@xxxxxx.blob.core.windows.net /'; 

Then I got success from this request:

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

sampleout same as sampletable , with the exception of the extra calculatedcolumn column. After a successful paste, I opened the blob repository and opened a text file to verify that the data is in the specified location of the text file.

But...

 select * from sampleout limit 10 

returns the following error:

 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:// sampleout@xxxxxx.blob.core.windows.net /hive Time taken: 3.032 seconds 

how can I successfully insert but cannot select from a table? Note that the error shows '/ hive' added to the location of the text file specified in create.

0
source share
1 answer

Basically, do not put TEXTFILE LOCATION in the root directory. Although this is a blob repository (no real folders), the structure required by HDFS or something else requires you to use at least one subfolder at that location.

Transition from

wasb: // sampleout@xxxxxx.blob.core.windows.net /

to

wasb: // sampleout@xxxxxx.blob.core.windows.net / somefolder /

fixed problem. Credit: https://stackoverflow.com/users/4951010/andrew-moll

0
source

All Articles