2016-09-09 3 views
0

Ich versuche, einen Spark-Job in Spark-Job-Server mit Eingabe im JSON-Format übergeben. In meinem Fall enthält einer der Werte jedoch '!' Charakter, der es mir nicht erlaubt, es zu analysieren. Hier ist meine Eingabe und Antwort.Nicht in der Lage, den Charakter zu analysieren! Parameter in Spark-Job-Server

Eingang

curl -d "{"test.input1"="abc", "test.input2"="def!"}" 'http://localhost:8090/jobs?appName=my_spark_job&classPath=com.example.spark.job.MySparkJob' 

Antwort

"result": "Cannot parse config: String: 1: Reserved character '!' is not allowed outside quotes (if you intended '!' (Reserved character '!' is not allowed outside quotes) to be part of the value for 'test.input2', try enclosing the value in double quotes, or you may be able to rename the file .properties rather than .conf)" 

Der Wert von "test.input2" ist bereits in doppelten Anführungszeichen. Ich habe versucht, einzelne/doppelte Anführungszeichen hinzuzufügen, aber immer noch nicht funktioniert. Irgendwelche Gedanken, wie kann ich es analysieren.

Dank

+0

nicht es eine Flucht Charakter? sowie \? vielleicht versuchen \! für das Passwort. Nur raten hier seit seinem reservierten Zeichen muss es –

Antwort

0

alles in einer JSON-Datei Setzen und tun Ist die folgenden

curl --data-binary @/path/to/json/file 'http://localhost:8090/jobs?appName=my_spark_job&classPath=com.example.spark.job.MySparkJob' 
+0

entkommen Ich habe die Möglichkeit der Weitergabe Json versucht. Es klappt . Aber meine Art der Ausführung ist anders. Der Wert für "test.input2" ist eigentlich ein Passwort. Ich habe den curl-Befehl in einem Python-Skript und führe das Skript aus, indem ich das Passwort vom Befehlszeilenargument übergebe. Wenn ich JSON einlege, muss ich es in der JSON-Datei fest codieren, was eine Sicherheitsbedingung für mich ist. – Rajesh

+0

Warum benutzt du Python-sjsclient nicht? – noorul

Verwandte Themen