使用Simba驱动程序将ODBC连接到AzureDatabricks

时间:2020-10-02 18:01:35

标签: azure odbc databricks azure-databricks

我只是想为Databricks Cluster设置ODBC驱动程序。 根据MS文档 https://docs.microsoft.com/en-us/azure/databricks/kb/bi/jdbc-odbc-troubleshooting 如果使用curl命令收到TTransport异常,则说明您已成功到达并进行了身份验证。

我跑步时...

curl https://adb-77180857967XXXXX.6.azuredatabricks.net:443/sql/protocolv1/o/7718085796704186/0910-172424-pizza885 -H "Authorization: Bearer XXXXX"

它确实会产生指示成功的错误...

Error 500 Server Error
HTTP ERROR 500
<p>Problem accessing /cliservice. Reason:
<pre>    Server Error</pre></p><h3>Caused by:</h3><pre>javax.servlet.ServletException: org.apache.thrift.transport.TTransportException

当我从ODBC驱动程序测试连接时,出现以下错误: 失败! [Simba] [ThriftExtension](14)HTTP连接期间来自服务器的意外响应:无法为客户端套接字解析主机。

1 个答案:

答案 0 :(得分:0)

如果响应中包含类似以下内容的TTransportException(可能是错误),则表明网关运行正常,并且您已传递有效的凭据。如果您无法使用相同的凭据进行连接,请检查所使用的客户端是否已正确配置并且正在使用[最新的Simba驱动程序(版本> = 1.2.0)]。

<h2>HTTP ERROR: 500</h2>
<p>Problem accessing /cliservice. Reason:
<pre> javax.servlet.ServletException: org.apache.thrift.transport.TTransportException</pre></p>

如何在Azure Databricks中配置ODBC驱动程序配置。

步骤1:下载并安装ODBC驱动程序

步骤2:收集ODBC连接参数

从Databricks门户=>在集群配置页面上=>单击“高级选项”切换=>单击“ JDBC / ODBC”选项卡。它包含主机名,端口,协议,HTTP路径和JDBC URL。

enter image description here

步骤3:收集用户名和密码

用户名:令牌 密码:,使用生成个人访问令牌中的步骤创建。

enter image description here

第4步:配置Simba Spark ODBC驱动程序DSN设置

打开ODBC数据源=>在用户DSN下=>创建新的simba Spark ODBC驱动程序DSN设置

添加以下在步骤2中收集的属性:

Host(s): adb-8159029426904320.0.azuredatabricks.net
Port: 443

User Name: token
Password: <personal-access-token>

Click on HTTP Options and add HTTP Path.

HTTP Path: sql/protocolv1/o/8159029426904320/0925-105713-bite618

enter image description here

第5步:现在是时候单击测试了。

enter image description here

我们已成功连接到ODBC驱动程序。