有没有一种使用 ADO.Net 连接到 Databricks 的方法?

3
我想构建一个API,用于查询databricks的表格,并将结果输出为JSON。实现此目标的一种方法是调用databricks的Jobs REST API来执行作业并读取作业输出,但这种方法有数据大小限制(最大为5MB,而我的API结果集可能超过20MB)。相反,我能否使用由集群提供的JDBC/ODBC端点使用Microsoft.Net连接到databricks,或者是否有其他直接连接的方式?我的API层最好在Microsoft.Net中构建。然而,我也愿意尝试Python。

ODBC和JDBC驱动程序可用 - https://learn.microsoft.com/en-us/azure/databricks/integrations/bi/jdbc-odbc-bi - Ed Harper
1个回答

6

我找到了几种连接到databricks集群的方法:

  1. 使用Simba驱动程序的ODBC连接(https://pages.databricks.com/ODBC-Driver-Download.html),如@EdHarper所述
  2. 使用cdata nuget包 - https://www.cdata.com/drivers/spark/ado/,但需要付费获取许可证
  3. 使用提供的JDBC连接字符串,可能需要Java代码

我选择了选项#1,并提供以下C#示例代码。

// Build connection string
OdbcConnectionStringBuilder odbcConnectionStringBuilder = new OdbcConnectionStringBuilder
        {
            Driver = "Simba Spark ODBC Driver"
        };
        odbcConnectionStringBuilder.Add("Host", "adb-xxxxxxxxxxxxx.7.xxxxxxxbricks.net");
        odbcConnectionStringBuilder.Add("Port", "443");
        odbcConnectionStringBuilder.Add("SSL", "1");             
        odbcConnectionStringBuilder.Add("ThriftTransport", "2");
        odbcConnectionStringBuilder.Add("AuthMech", "3");
        odbcConnectionStringBuilder.Add("UID", "token");
        odbcConnectionStringBuilder.Add("PWD", "<Access token generated in databricks>");
        odbcConnectionStringBuilder.Add("HTTPPath", "sql/protocolv1/o/xxxxxxxxxxxxxxx/yyyy8-dfcccf-tyyujjk8");


    using (OdbcConnection connection = new OdbcConnection(odbcConnectionStringBuilder.ConnectionString))
    {
        string sqlQuery = "select * from yourdb.TableName";
        OdbcCommand command = new OdbcCommand(sqlQuery, connection);
        connection.Open();
        OdbcDataReader reader = command.ExecuteReader();

        for (int i = 0; i < reader.FieldCount; i++)
        {
            Console.Write(reader.GetName(i) + "\t");
        }

        Console.Write("\n");

        reader.Close();
        command.Dispose();
    }

此外,如果您愿意,您可以使用 DSN 进行连接,更多详细信息请参见此处 - https://www.simba.com/products/Spark/doc/v1/ODBC_InstallGuide/win/content/odbc/hi/windows/dsn.htm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接