2017-11-28 20 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-shellと​​でそれを行う方法を知っています。しかし、それは私が探しているものではありません。

+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; 
関連する問題