首页 > 数据库 > > 跨集群访问其他数据平台-配置访问远端Spark
当GaussDB 200需要访问远端Spark数据时或者需要数据互操作时,可以通过配置"对接Spark"使用该功能。
说明:用户需要根据具体的业务需求,选择对应的用户来下载认证凭据。
说明:参数 | 描述 | 建议填写值 |
|---|---|---|
remote_connect_spark_database | 默认Spark端库名称。 | default |
remote_connect_spark_dsn | 该组配置的DSN标识,以spark_开头,只允许由字母数字下划线组成,不能超过64个字符。 注意:
| spark_DSN |
remote_connect_spark_host | HD Spark JDBCServer的业务IP或者ZooKeeper的业务IP和端口。 说明:
| 100.100.0.10:24002,100.100.0.11:24002,100.100.0.12:24002 |
remote_connect_spark_jaas_principal | “jaas.conf”文件的principal。 注意: “remote_connect_spark_jaas_principal”中所填写的用户名需要与下载“Kuser_xxxxxxx_keytab.tar”所使用的用户一致。 例如:如果下载了sparkuser用户的认证凭据,那么这里需要填写sparkuser@HADOOP.COM。 | sparkuser@HADOOP.COM |
remote_connect_spark_mode | 是否开启集群模式。 注意: 如果使用集群模式连接,在第一次执行kinit修改完密码之后,需要从Spark集群再次下载新的认证凭据,然后将新的凭据从后台手动上传至“${BIGDATA_HOME}/mppdb/core/utilslib/fc_conf/DSN”目录。 | |
remote_connect_spark_namespace | ZooKeeper存储FusionInsight HD Spark JDBCServer IP和端口的namespace。 | sparkthriftserver2x |
remote_connect_spark_port | FusionInsight HD Spark JDBCServer的端口。 | 22550 |
remote_connect_spark_principal | FusionInsight HD Spark JDBCServer的principal。 | spark2x/hadoop.hadoop.com@HADOOP.COM |
kinit sparkuser
Password for sparkuser@HADOOP.COM:-- 假设Spark里已经存在表 t1 (c1 int, c2 string), 内容如下:
-- 1 spark
-- 2 hive
-- 通过 exec_hadoop_sql 函数查询,其中spark_DSN是{remote_connect_spark_dsn}中填写的Spark的DSN
postgres=# SELECT * FROM exec_hadoop_sql('spark_DSN', 'select * from t1;', '') AS (c1 int, c2 text);
c1 | c2
----+-------
1 | spark
2 | hive
(2 rows)
-- 通过 exec_on_extension 函数查询
postgres=# CREATE DATA SOURCE ds_spark OPTIONS(dsn 'spark_DSN');
postgres=# SELECT * FROM exec_on_extension ('ds_spark', 'select * from t1;') AS (c1 int, c2 text);
c1 | c2
----+-------
1 | spark
2 | hive
(2 rows)
postgres=# DROP DATA SOURCE ds_spark;来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3134922/ ,如需转载,请注明出处,否则将追究法律责任。