2017-11-28 1 views
1

나는 매개 변수를 사용하여 명령 줄에서 spark-sql를 실행하고 싶습니다 :spark-scala가 아닌 spark-SQL에 매개 변수를 전달하는 방법은 무엇입니까?

$ spark-sql myscript.sql hdfs://mydir/myfile.tsv 

myscript.sql에서 매개 변수는

LOAD DATA LOCAL INPATH $PARAM1 INTO TABLE T; 

PS를 사용한다 : 나는 spark-shellspark-submit에 그 작업을 수행하는 방법을 알고있다. 하지만 그건 제가 찾고있는 것이 아닙니다.

+0

'스파크-SQL :

$ spark-sql -d INPUT=hdfs://mydir/myfile.tsv 

는 그런 다음 SQL 코드에서이 INPUT 변수를 사용할 수 있습니까? – philantrovert

+0

'spark-sql --help'에서 SQL 스크립트에서 params를 사용하는 방법을 보지 못했습니다 ('INPATH $ PARAM1' 참조). –

답변

0

-d 옵션으로 매개 변수를 spark-sql에 전달하십시오. 여러 개의 -d를 사용하여 여러 매개 변수를 전달할 수 있습니다. 도움이되지 않았다 --help`

CREATE TABLE MyTable (
    ID    STRING, 
    VALUE   STRING 
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES (
    "separatorChar" = "\,", 
    "quoteChar"  = "\"" 
) 
STORED AS TEXTFILE; 

LOAD DATA LOCAL INPATH '${INPUT}' INTO TABLE MyTable; 
관련 문제