如何通过Spark Thrift Server将Tableau Desktop连接到Spark SQL 2.0?

问题描述:

我试图从OS X的Tableau Desktop 10.1.1连接到Spark SQL(Spark 2.0.0)。我已经安装了SimbaSparkODBC,并且Spark Thirft Server已启动并正在运行。我可以使用直线连接并验证Thrift服务器。如何通过Spark Thrift Server将Tableau Desktop连接到Spark SQL 2.0?

然而,当我配置的Tableau使用星火SQL连接器,它不连接。某段时间后,查询超时。当我查看Thrift Server日志时,我看到以下消息。

16/11/17 17:01:26 ERROR TThreadPoolServer: Error occurred during processing of message. 
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException: Invalid status -128 
     at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219) 
     at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:268) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.thrift.transport.TTransportException: Invalid status -128 
     at org.apache.thrift.transport.TSaslTransport.sendAndThrowMessage(TSaslTransport.java:232) 
     at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:184) 
     at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125) 
     at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271) 
     at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41) 
     at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216) 
     ... 4 more 

我试过Spark 1.6.1,结果是一样的。有没有人有过使用类似设置的Tableau?如果是这样,我在这里错过了什么?

当连接到SQL星火,选择“用户名”认证,而不是“无身份验证”。您可以将用户名留空。