将数据从 MS SQL table 加载到 snappyData
Load data from MS SQL table to snappyData
我正在使用 Tibco ComputeDB,这对我来说是新的。它使用 sparkDB 和 snappyData。我想将数据从 MS SQL 添加到 snappyData 的内存 table 中。
我可以使用以下命令从 CSV 中读取数据并将其加载到 snappyDaya 中。
=> 创建外部 TABLE 如果航空公司数据不存在则使用 csv 选项(路径 '/home/ubuntu/Downloads/airline-data-small/*.csv')
现在我想以同样的方式从 MS SQL 读取数据并想将其添加到 snappyData 但无法找到正确的方法。我按照以下文档操作,能够连接到 MS SQL 服务器并使用 spark/scala 显示数据。但是没有找到方法将它添加到 snappyData 中。
=> https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/sql-databases
还有文档显示如何为 MySQL 执行此操作,但不适用于 MS SQL。
=> https://snappydatainc.github.io/snappydata/howto/load_data_from_external_data_stores/
遇到以下 link 并对 sqlserver 进行了更改,但出现错误。
=> How can I get external table jdbc url in SnappyData
对于SQL服务器:-
使用 jdbc 选项创建外部 table Test_1(url 'jdbc:sqlserver://server:port;database=dbname;user=username;password=pswd',驱动程序 'com.microsoft.sqlserver.jdbc.SQLServerDriver',dbtable 'CERTIFICATES');
错误:-
ERROR 42000: (SQLState=42000 Severity=20000) (Server=localhost/127.0.0.1[1528] Thread=ThriftProcessor-0) 语法错误或分析异常:com.microsoft.sqlserver.jdbc.SQLServerDriver
看起来 JDBC SQL 服务器的驱动程序 jar 没有添加到类路径中。
为此,您必须使用以下 SQL 命令部署 SQL 服务器的 JDBC 驱动程序 jar:
deploy jar <unique-alias-name> 'path-to-jar'
查看此 link 了解更多详情:https://snappydatainc.github.io/snappydata/reference/sql_reference/deploy_jar/
最新的JDBC驱动可以从这里下载:https://www.microsoft.com/en-US/download/details.aspx?id=11774
部署 jar 后尝试创建外部 table 它应该可以工作。
使用 Microsoft SQL Server 2016 使用以下查询进行测试:
CREATE EXTERNAL TABLE external_table USING jdbc OPTIONS (dbtable 'T1',driver 'com.microsoft.sqlserver.jdbc.SQLServerDriver',user 'sqldb', password 'pw',url 'jdbc:sqlserver://sql-server-host:1435;DatabaseName=testdatabase');
我正在使用 Tibco ComputeDB,这对我来说是新的。它使用 sparkDB 和 snappyData。我想将数据从 MS SQL 添加到 snappyData 的内存 table 中。
我可以使用以下命令从 CSV 中读取数据并将其加载到 snappyDaya 中。
=> 创建外部 TABLE 如果航空公司数据不存在则使用 csv 选项(路径 '/home/ubuntu/Downloads/airline-data-small/*.csv')
现在我想以同样的方式从 MS SQL 读取数据并想将其添加到 snappyData 但无法找到正确的方法。我按照以下文档操作,能够连接到 MS SQL 服务器并使用 spark/scala 显示数据。但是没有找到方法将它添加到 snappyData 中。
=> https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/sql-databases
还有文档显示如何为 MySQL 执行此操作,但不适用于 MS SQL。
=> https://snappydatainc.github.io/snappydata/howto/load_data_from_external_data_stores/
遇到以下 link 并对 sqlserver 进行了更改,但出现错误。
=> How can I get external table jdbc url in SnappyData
对于SQL服务器:-
使用 jdbc 选项创建外部 table Test_1(url 'jdbc:sqlserver://server:port;database=dbname;user=username;password=pswd',驱动程序 'com.microsoft.sqlserver.jdbc.SQLServerDriver',dbtable 'CERTIFICATES');
错误:-
ERROR 42000: (SQLState=42000 Severity=20000) (Server=localhost/127.0.0.1[1528] Thread=ThriftProcessor-0) 语法错误或分析异常:com.microsoft.sqlserver.jdbc.SQLServerDriver
看起来 JDBC SQL 服务器的驱动程序 jar 没有添加到类路径中。
为此,您必须使用以下 SQL 命令部署 SQL 服务器的 JDBC 驱动程序 jar:
deploy jar <unique-alias-name> 'path-to-jar'
查看此 link 了解更多详情:https://snappydatainc.github.io/snappydata/reference/sql_reference/deploy_jar/
最新的JDBC驱动可以从这里下载:https://www.microsoft.com/en-US/download/details.aspx?id=11774
部署 jar 后尝试创建外部 table 它应该可以工作。 使用 Microsoft SQL Server 2016 使用以下查询进行测试:
CREATE EXTERNAL TABLE external_table USING jdbc OPTIONS (dbtable 'T1',driver 'com.microsoft.sqlserver.jdbc.SQLServerDriver',user 'sqldb', password 'pw',url 'jdbc:sqlserver://sql-server-host:1435;DatabaseName=testdatabase');