我想为 Spark Thrift Server 配置一个 Java Database Connectivity(JDBC)驱动程序,这样我就可以在 Amazon EMR 集群上从 SQL 客户端运行 SQL 查询。
解决方法
1. 下载并安装 SQuirrel SQL 客户端。
2. 使用 SSH 连接到主节点。
3. 在主节点上,运行以下命令以启动 Spark Thrift 服务器:
sudo /usr/lib/spark/sbin/start-thriftserver.sh
4. 将所有 .jar 文件从主节点上的 /usr/lib/spark/jars 目录中复制到您的本地计算机。
5. 打开 SQuirrel SQL 客户端并创建一个新的驱动程序:
对于名称,输入 Spark JDBC Driver。
对于示例 URL,输入 jdbc:hive2://localhost:10001。
6. 在额外类路径选项卡上,选择添加。
7. 在对话框中,导航到您在步骤 4 中复制 .jar 文件所在的目录,然后选择所有文件。
8. 在类名称字段中,输入 org.apache.hive.jdbc.HiveDriver,然后选择确定。
9. 在本地计算机上,使用本地端口转发设置 SSH 隧道:
ssh -o ServerAliveInterval=10 -i path-to-key-file -N -L 10001:localhost:10001 hadoop@master-public-dns-name
10. 若要连接到 Spark Thrift 服务器,请在 SQuirrel SQL 客户端中创建一个新的别名:
对于名称,输入 Spark JDBC。
对于驱动程序,输入 Spark JDBC Driver。
对于 URL,输入 jdbc:hive2://localhost:10001。
对于用户名,输入 hadoop。
11. 从 SQuirrel SQL 客户端运行查询。