你可能想要访问你的表外的砖笔记本。除了通过JDBC连接BI工具(AWS|Azure),你也可以通过使用Python脚本访问表。你可以连接到一个火花通过JDBC使用集群PyHive然后运行一个脚本。你应该PyHive安装在机器上运行的Python脚本。
安装PyHive和节俭
使用pip安装PyHive和节俭。
% sh pip安装pyhive节俭
运行SQL脚本
这个示例Python脚本发送SQL查询显示表您的集群,然后显示查询的结果。
运行脚本之前做以下:
- 取代<标记>与你的砖API的令牌。
- 取代< databricks-instance >你的域名砖部署。
- 取代< workspace-id >与工作区ID。
- 取代< cluster-id >集群ID。
API的令牌,看到生成一个令牌(AWS|Azure)。确定其他值,看看工作区,集群,笔记本,和工作细节(AWS|Azure)。
python % # !/usr/bin/python导入操作系统从pyhive进口系统导入蜂巢从节俭。运输进口THttpClient进口base64牌= " <标记>”WORKSPACE_URL = < databricks-instance >“WORKSPACE_ID = " < workspace-id > " CLUSTER_ID = < cluster-id >“康涅狄格州= ' https://%s/sql/protocolv1/o/%s/%s ' % (WORKSPACE_URL、WORKSPACE_ID CLUSTER_ID)打印(康涅狄格州)运输= THttpClient.THttpClient(康涅狄格州)auth =“令牌:% s % TOKEN PY_MAJOR =系统。version_info[0]如果PY_MAJOR < 3: auth = base64.standard_b64encode(身份验证)其他:auth = base64.standard_b64encode (auth.encode ()) .decode运输()。setCustomHeaders({“授权”:“基本”% s % auth})光标= hive.connect (thrift_transport =运输).cursor()游标。执行(“显示表”,async_ = True) pending_states = (hive.ttypes.TOperationState。INITIALIZED_STATE hive.ttypes.TOperationState。PENDING_STATE hive.ttypes.TOperationState.RUNNING_STATE),而cursor.poll ()。operationState pending_states:打印(“等待…”)打印(“完成。结果:”)的表cursor.fetchall():打印(表)