Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

livy sql interpreter can not find source file

avatar
Guru

I'm trying to run a SQL query using livy interpreter as below.

%livy.sql
LOAD DATA LOCAL INPATH '/tmp/abc.csv' INTO TABLE abc

it gives this error

org.apache.spark.sql.execution.QueryExecutionException: FAILED: SemanticException Line 1:23 Invalid path ''/tmp/abc.csv'': No files matching path file:/tmp/abc.csv

But when I run the same thing with %sql as below, it works fine.

%sql
LOAD DATA LOCAL INPATH '/tmp/abc.csv' INTO TABLE abc

Any pointers on this behavior ?

1 ACCEPTED SOLUTION

avatar

@yvora Its because %livy.sql interpreter runs in the yarn-cluster mode whereas %sql interpreter runs in the yarn-client mode. Hence %sql can find the local file on the client-machine whereas %livy.sql wont be able to find.

Try putting file in HDFS and use LOAD DATA INPATH rather than LOAD DATA LOCAL INPATH. It should work

View solution in original post

1 REPLY 1

avatar

@yvora Its because %livy.sql interpreter runs in the yarn-cluster mode whereas %sql interpreter runs in the yarn-client mode. Hence %sql can find the local file on the client-machine whereas %livy.sql wont be able to find.

Try putting file in HDFS and use LOAD DATA INPATH rather than LOAD DATA LOCAL INPATH. It should work