如何从 jdbc 连接创建 spark-sql 数据库
How to create spark-sql database from jdbc connection
我正在使用 spark-sql,我想创建查询以连接数据库中的不同表。
Apache spark 和连接已经在工作
示例:
CREATE TEMPORARY VIEW jdbcTable
USING org.apache.spark.sql.jdbc
OPTIONS (
url "jdbc:mysql://XXX.XXX.XXX.XXX/mydatabase",
driver "com.mysql.cj.jdbc.Driver",
dbtable "mydatabase.mytable1",
user "XXXX",
password "xxx"
);
spark-sql> SELECT * FROM jdbcTable;
1 my_data
Time taken: 3.91 seconds, Fetched 1 row(s)
我需要的是使用 jdbc 连接来使用或创建我的数据库,以便能够 运行 查询连接表。
基于 Spark SQL Syntax,我尝试了以下选项:
spark-sql> USE DATABASE mydatabase
> USING org.apache.spark.sql.jdbc
> OPTIONS (
> url "jdbc:mysql://XXX.XXX.XXX.XXX/mydatabase",
> driver "com.mysql.cj.jdbc.Driver",
> user "XXXX",
> password "xxx"
> );
Error in query:
mismatched input 'mydatabase' expecting {<EOF>, ';'}(line 1, pos 13)
spark-sql> CREATE DATABASE mydatabase
> USING org.apache.spark.sql.jdbc
> OPTIONS (
> url "jdbc:mysql://XXX.XXX.XXX.XXX/mydatabase",
> driver "com.mysql.cj.jdbc.Driver",
> user "XXXX",
> password "xxx"
> );
Error in query:
mismatched input 'USING' expecting {<EOF>, ';'}(line 2, pos 0)
有没有办法在 spark-sql 命令行中从 jdbc 连接使用或创建数据库?
答案是否。参考spark官方文档:
The Spark SQL CLI is a convenient tool to run the Hive metastore
service in local mode and execute queries input from the command line.
无法使用 JDBC 直接连接到外部 mysql 服务。
我正在使用 spark-sql,我想创建查询以连接数据库中的不同表。
Apache spark 和连接已经在工作 示例:
CREATE TEMPORARY VIEW jdbcTable
USING org.apache.spark.sql.jdbc
OPTIONS (
url "jdbc:mysql://XXX.XXX.XXX.XXX/mydatabase",
driver "com.mysql.cj.jdbc.Driver",
dbtable "mydatabase.mytable1",
user "XXXX",
password "xxx"
);
spark-sql> SELECT * FROM jdbcTable;
1 my_data
Time taken: 3.91 seconds, Fetched 1 row(s)
我需要的是使用 jdbc 连接来使用或创建我的数据库,以便能够 运行 查询连接表。
基于 Spark SQL Syntax,我尝试了以下选项:
spark-sql> USE DATABASE mydatabase
> USING org.apache.spark.sql.jdbc
> OPTIONS (
> url "jdbc:mysql://XXX.XXX.XXX.XXX/mydatabase",
> driver "com.mysql.cj.jdbc.Driver",
> user "XXXX",
> password "xxx"
> );
Error in query:
mismatched input 'mydatabase' expecting {<EOF>, ';'}(line 1, pos 13)
spark-sql> CREATE DATABASE mydatabase
> USING org.apache.spark.sql.jdbc
> OPTIONS (
> url "jdbc:mysql://XXX.XXX.XXX.XXX/mydatabase",
> driver "com.mysql.cj.jdbc.Driver",
> user "XXXX",
> password "xxx"
> );
Error in query:
mismatched input 'USING' expecting {<EOF>, ';'}(line 2, pos 0)
有没有办法在 spark-sql 命令行中从 jdbc 连接使用或创建数据库?
答案是否。参考spark官方文档:
The Spark SQL CLI is a convenient tool to run the Hive metastore service in local mode and execute queries input from the command line.
无法使用 JDBC 直接连接到外部 mysql 服务。