当前位置:   article > 正文

Spark SQL创建Mysql映射表,直接通过jdbc查询混合数据源_using org.apache.spark.sql.jdbc

using org.apache.spark.sql.jdbc
  1. CREATE TABLE db_name.mysql_tb_mapping
  2. USING org.apache.spark.sql.jdbc
  3. OPTIONS (
  4. url "jdbc:mysql://xxx.xxx.xxx.xxx:3306/db_name?zeroDateTimeBehavior=convertToNull",
  5. dbtable "mysql_db_name.mysql_tb_name",
  6. driver "com.mysql.jdbc.Driver",
  7. user "xxxxxxx",
  8. password "xxxxxx"
  9. )

spark在2.3以后可以使用 using语法创建多数据源的映射表,这样在spark-sql 客户端可以直接查询异构数据源,实现跨数据源的联邦查询。

需要注意的是如果spark-sql 配置hive数据源,这个表会写入hiveMetadata中。但是表的映射信息是写在TBLPROPERTIES属性里,所以建议使用spark-sql客户端查询具体的列信息。

spark-sql 启动时需要配置 jdbc的jar包,直接通过 --jars 配置即可。本方法也适用于其他jdbc数据源

建表语法规则如下

  1. CREATE TABLE [ IF NOT EXISTS ] table_identifier
  2. [ ( col_name1 col_type1 [ COMMENT col_comment1 ], ... ) ]
  3. USING data_source
  4. [ OPTIONS ( key1 [ = ] val1, key2 [ = ] val2, ... ) ]
  5. [ PARTITIONED BY ( col_name1, col_name2, ... ) ]
  6. [ CLUSTERED BY ( col_name3, col_name4, ... )
  7. [ SORTED BY ( col_name [ ASC | DESC ], ... ) ]
  8. INTO num_buckets BUCKETS ]
  9. [ LOCATION path ]
  10. [ COMMENT table_comment ]
  11. [ TBLPROPERTIES ( key1 [ = ] val1, key2 [ = ] val2, ... ) ]
  12. [ AS select_statement ]

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/593347
推荐阅读
相关标签
  

闽ICP备14008679号