【问题标题】:Using curl within a Databricks+Spark notebook在 Databricks+Spark 笔记本中使用 curl
【发布时间】:2018-03-04 17:22:15
【问题描述】:

我正在使用 Databricks 运行 Spark 集群。我想使用 curl 从服务器传输数据。例如,

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

如何在 Databricks 笔记本中执行此操作(最好在 python 中,但 Scala 也可以)?

【问题讨论】:

    标签: curl apache-spark databricks


    【解决方案1】:

    在 Databricks 中,您可以通过将 %sh 作为单元格的第一行来从单元格运行 shell 命令:

    %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
    

    【讨论】:

      【解决方案2】:

      在 Scala 中,您可以执行以下操作:

      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).!!
      

      【讨论】:

      • 文件保存在 dbfs 的什么位置?我尝试了 -k > /tmp/automation.json,但无法定位文件。
      • 我还没有在 databricks 环境中对其进行过测试,但我不明白为什么如果该调用成功返回,您应该无法访问您提到的位置的文件.
      • 使用 -k > /dbfs/automation.json 似乎有效。谢谢。
      猜你喜欢
      • 2019-04-18
      • 2023-03-18
      • 1970-01-01
      • 2020-12-23
      • 2019-12-24
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多