2016-09-28 3 views
0

Ich bin ein Spark-Cluster mit Databricks. Ich möchte Daten von einem Server mithilfe von curl übertragen. Zum BeispielVerwendung von Curl in einem Databricks + Spark-Notebook

curl -H "Content-Type: application/json" -H "auth:xxxx" -X GET "https://websites.net/Automation/Offline?startTimeInclusive=201609240100&endTimeExclusive=201609240200&dataFormat=json" -k > automation.json 

Wie man tut dies innerhalb eines Databricks Notebook (vorzugsweise in Python, aber Scala ist auch in Ordnung)?

Antwort

1

In Scala, können Sie so etwas wie:

import sys.process._ 
val command = """curl -H "Content-Type: application/json" -H "auth:xxxx" -X GET "http://google.com" -k > /home/user/automation.json""" 
Seq("/bin/bash", "-c", command).!! 
+0

Wo in der dbfs ist die Datei gespeichert? Ich habe versucht -k> /tmp/automation.json, aber kann die Datei nicht lokalisieren. – Feynman27

+0

Ich habe es nicht in genau der Databricks-Umgebung getestet, aber ich sehe keinen Grund, wenn dieser Aufruf erfolgreich zurückkehrt, sollten Sie nicht in der Lage sein, auf die Datei an dem von Ihnen erwähnten Ort zuzugreifen. –

+0

Die Verwendung von -k> /dbfs/automation.json scheint zu funktionieren. Vielen Dank. – Feynman27

0

In Databricks, können Sie, indem% sh die erste Zeile der Zelle einen Shell-Befehl aus einer Zelle aus:

%sh 
curl -H "Content-Type: application/json" -H "auth:xxxx" -X GET "https://websites.net/Automation/Offline?startTimeInclusive=201609240100&endTimeExclusive=201609240200&dataFormat=json" -k > automation.json 
Verwandte Themen