我需要从zeppelin中的%sql解释器导出csv格式的数据.我怎么能这样做?我需要添加一个按钮并点击它,它应该导出csv中的数据,如客户端的sql解释器中的zeppelin中的图形所示.
目前,不支持此功能(Zeppelin 0.5.6)。不过,似乎这将在下一个版本(0.6.0)中添加。您可以从Zeppelin git page克隆它,或者您可以使用我正在使用的下一个解决方法:
http://localhost:8080/#/notebook/{Notebook-ID}/paragraph/{Paragraph-ID}?asIframe
http://localhost:8080/api/notebook/{Notebook-ID}/paragraph/{Paragraph-ID}
body.result.msg
是一个字符串,将结果保存为 TSV(制表符分隔值)。这几乎就是您所需要的(您可以解析它并将\t
字符串中的所有内容替换,
为以获取 CSV 文件)。一个简单的代码可以让您立即解决这个问题。
编辑:
下面是一个 Python 脚本,它正是执行此操作的。调用getTSV
并向其发送单击“链接此段落”所获得的段落的 url:
import requests
import json
def parseURL(paragraphUrl):
url = paragraphUrl.split(":8080")
address = url[0]
vals = url[1].split("/")
notebook = vals[3]
paragraph = vals[5].split("?")[0]
return [address, notebook, paragraph]
def getData(address, notebook, paragraph):
response = requests.get(address + ":8080/api/notebook/" + notebook + "/paragraph/" + paragraph)
return response.text
def getTSV(paragraphUrl):
# This function gets the same url that you get from clicking on "Link this paragraph"
[address, notebook, paragraph] = parseURL(paragraphUrl)
response = getData(address,notebook,paragraph)
return json.loads(response)["body"]["result"]["msg"]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7603 次 |
最近记录: |