我想在 Amazon EMR 上设置 Spark SQL Java 数据库连接 (JDBC) 连接。
解决方法
**注意:**以下步骤在本地计算机上使用 SQuirreL SQL Client for SQL 客户端。
要在 Amazon EMR 上设置 Spark SQL JDBC 连接,请完成以下步骤:
-
下载并安装 SQuirreL SQL Client。有关详细信息,请参阅 Squirrel SQL 网站上的下载和安装。
-
要连接到 Amazon EMR 主节点,请使用 SSH。
-
要启动 Spark Thrift 服务器,请在主节点上运行以下命令:
sudo /usr/lib/spark/sbin/start-thriftserver.sh
-
在主节点上,将所有 .jar 文件从 /usr/lib/spark/jars 目录复制到本地计算机。
-
打开 SQuirreL SQL Client,然后按以下所示创建新的驱动程序:
对于 Name(名称),输入 Spark JDBC Driver(Spark JDBC 驱动程序)。
对于 Example URL(示例 URL),输入 jdbc:hive2://localhost:10001。
-
在 JDBC Driver Class Path(JDBC 驱动程序类路径)选项卡中,选择 Add(添加)。
-
在对话框中,导航到之前将 .jar 文件复制到的目录,然后选择所有文件。
-
在 Class Name(类名称)字段中,输入 org.apache.hive.jdbc.HiveDriver,然后选择 OK(确定)。
-
要设置 SSH 隧道,请在本地计算机上使用本地端口转发:
ssh -o ServerAliveInterval=10 -i path-to-key-file -N -L 10001:localhost:10001 hadoop@example-primary-public-dns
**注意:**请将 example-primary-public-dns 替换为您的主公有 DNS 名称。
-
要连接到 Spark Thrift 服务器,请按以下所示在 Squirrel SQL Client 中创建一个新的别名:
对于 Name(名称),输入 Spark JDBC。
对于 Driver(驱动程序),输入 Spark JDBC Driver(Spark JDBC 驱动程序)。
对于 URL,输入 jdbc:hive2://localhost:10001。
对于 Username(用户名),输入 hadoop。
**注意:**您现在可以从 Squirrel SQL Client 运行查询。