当前位置: 首页 > news >正文

网站群管理平台深圳哪些公司需要做网站

网站群管理平台,深圳哪些公司需要做网站,游戏小程序源码,设计师国外网站AWS Glue作为一种无服务器产品,其运行环境是“不可预知”的,也就是“一个黑盒”,所以如何能连接一些自有数据源是Glue必须考虑并给予满足的,为此,Glue给出的解决方案就是Connector和Connection,一个connect…

AWS Glue作为一种无服务器产品,其运行环境是“不可预知”的,也就是“一个黑盒”,所以如何能连接一些自有数据源是Glue必须考虑并给予满足的,为此,Glue给出的解决方案就是Connector和Connection,一个connector就是一个用于协助访问数据源的程序包(容器镜像或Jar包),如果你要使用一个connector,必须先创建一个针对该connector的connection。一个connection包含了连接一个特定数据源的属性。connector和connections联合起来为目标数据源提供访问通路。本文地址:https://laurence.blog.csdn.net/article/details/129139176,转载请注明出处!

1. 关系与区别

下面是一些明确切且重要的结论:

  • 先创建Connector,再创建Connection,后者依附于前者,Connector与Connection是一对多的映射关系
  • Connector与Connection非常类似于数据库客户端工具(例如DataGrip)中的Driver和DataSource之间的关系,Connector类似Driver,主要包含JAR包和基础属性(如JDBC类型的Connector需要配置Base的JDBC URL),DataSource类似于DataSource,主要包含身份认证信息和网络配置
  • 能在Glue控制台上编辑的主要是Custom Connector & Connection,以及Marketplace Connector关联的Connection
  • Marketplace Connector是只读的,不可配置,对应Connection可由用户创建和编辑
  • Marketplace Connector在架构上有更大的“运作空间”,一般以容器形式运行于EKS/ECS上
  • Custom Connector只能是一个Jar包,所以它只有Spark、Athena、JDBC三种类型(对应Glue提供的三种集成API)
  • Custom Connection可以独立于Connector存在,依赖Jar包可通过Job Dependent Jar配置给Job,故不一定非要依赖Connector
  • 再进一步,如果配置了VPC Connection,再通过Job Dependent Jar配置Jar包,则Connection也可以省去(未必所有的Connection都可以,但测试过部分,确实是可行的)
  • 尽管上述两点都已证明可行,还是建议始终使用Custom Connector + Custom Connection的标准方式配置数据源连接。跳过Connector直接创建Custom Connection会丢失一个优势:由于在Glue图形化编辑器上,只有Connector是可以直接拖放的Source/Sink组件,所以如果跳过Custom Connector直接创建Custom Connection,在Glue图形化编辑器上就没有这个数据源对应的连接器可以拖放了。

下图对以上要点进行了总结:

请添加图片描述

来自于marketplace的connector显然拥有“特权”,它们拥有更加复杂的架构,这些connector往往都有自己docker镜像,并使用ECS/EKS部署和运行镜像,独立的镜像给了connector最大化的定制空间。而自定义connector的“运作空间”远远没有marketplace上的connector大,它不能拥有自定义镜像,只能以jar包形式存在,并依附于Glue的运行环境(通过三套API接口集成),所以,自定义的connector只有三种类型,只能以Jar包形式存在:

  • Spark DataSource API -> connectionType=custom.spark
  • Amazon Athena Data Source API -> connectionType=custom.athena
  • Java JDBC API -> connectionType=custom.jdbc

2. Connection的加载时机

此外,我们一直想找出:Glue的Connection与Spark原生数据加载方式(例如:spark.read.format(“jdbc”))之间到底有什么差异,我们以JDBC类型的Connection做了如下一些测试:

测试场景测试结果
Custom JDBC Connection + Glue Context with Connection成功
Custom VPC Connection + Job Dependent Jar + Glue Context with Connection成功
Custom JDBC Connection + Spark原生数据加载方式 ( spark.read.format(“jdbc”) )失败

上述三个测试用例可有力地证明:在Glue中,对于一个数据源的连接配置只能通过Glue专属的GlueContext加载才能生效。关于这一点,我们没有办法从源代码上获得验证,但是一种合理的解释是:我们知道,Glue作为Serverless产品,其工作节点(Worker)的网络环境是不可见的“黑盒”,为了能和目标数据源打通,Glue会根据Connction中的网络配置给它的工作节点创建临时的ENI(虚拟网卡),用于连接到Connection配置的子网中,这些工作节点也因此获得了指定子网内的私有IP地址,从上面的测试结果来看,真正触发Glue去完成这一系列操作的“开关”是在代码中通过GlueContext加载Connection时(根据Spark Lazy Loading的一贯特性,触发的时机可能会更晚,有可能是在初次读取DynamicFrame时),而不是只要在Job属性中关联了一个Connection,在Job启动时就会被自动激活。

3. 重要细节

最后,补充一些测试中的细节:

  • Trino JDBC Driver的URL中user参数不得为空

  • Trino JDBC Driver的URL中user和passoword,只能通过secret manager配置方可生效

  • 通过Glue专属的GlueContext加载Connection指的是类似下面的代码:

    # author: https://laurence.blog.csdn.net/
    Trino_node1676884948138 = glueContext.create_dynamic_frame.from_options(connection_type="custom.jdbc",connection_options={"tableName": "orders","dbTable": "orders","jobBookmarkKeys": ["orderkey"],"jobBookmarkKeysSortOrder": "asc","connectionName": "my-trino-connection",},transformation_ctx="Trino_node1676884948138",
    )
    
  • 通过Spark原生数据加载方式读取数据源指的是类似下面的代码:

    # author: https://laurence.blog.csdn.net/
    spark.read.format("jdbc").option("url", "jdbc:trino://localhost:8889/hive/default").option("driver", "io.trino.jdbc.TrinoDriver").option("user", "hadoop").option("dbtable", "orders").load().show()
    
  • Glue的官方文档对于创建ENI有专门的解释:

    AWS Glue sets up elastic network interfaces that enable your jobs to connect securely to other resources within your VPC. Each elastic network interface is assigned a private IP address from the IP address range within the subnet you specified.

4. 相关资源

4.1. 内置Connectors

connectionTypeConnects To
custom.*Spark, Athena, or JDBC data stores (see Custom and AWS Marketplace connectionType values
documentdbAmazon DocumentDB (with MongoDB compatibility) database
dynamodbAmazon DynamoDB database
kafkaKafka or Amazon Managed Streaming for Apache Kafka
kinesisAmazon Kinesis Data Streams
marketplace.*Spark, Athena, or JDBC data stores (see Custom and AWS Marketplace connectionType values)
mongodbMongoDB database
mysqlMySQL database (see JDBC connectionType Values)
oracleOracle database (see JDBC connectionType Values)
orcFiles stored in Amazon Simple Storage Service (Amazon S3) in the Apache Hive Optimized Row Columnar (ORC) file format
parquetFiles stored in Amazon S3 in the Apache Parquet file format
postgresqlPostgreSQL database (see JDBC connectionType Values)
redshiftAmazon Redshift database (see JDBC connectionType Values)
s3Amazon S3
sqlserverMicrosoft SQL Server database (see JDBC connectionType Values)

4.2. Marketplace Connectors

通过下面的链接可以查找到Marketplace上所有的连接器:

https://aws.amazon.com/marketplace/search/results?searchTerms=glue+connector

4.3. Custom Connectors

这里有一篇整体介绍,建议先阅读此文:

Developing, testing, and deploying custom connectors for your data stores with AWS Glue

4.3.1. 基于Spark DataSource API的自定义连接器

文档:

https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/glue-3.0

示例:

MinimalSpark3Connector.scala

4.3.2. 基Java JDBC API的自定义连接器

文档:

https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#code-jdbc-connector

示例:

https://github.com/aws-samples/aws-glue-samples/blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL.scala

4.3.3. 基Java JDBC API的自定义连接器

文档:

https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena

示例:

https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena

本文地址:https://laurence.blog.csdn.net/article/details/129139176,转载请注明出处!

http://www.yayakq.cn/news/407097/

相关文章:

  • 网站建设推广服务合同范本迅速编程做网站
  • 网站虚拟机可以自己做吗下载官方购物网站
  • 如果网站曾被挂木马中国114黄页网站宣传广告
  • 建设网站技术公司简介深圳创业补贴政策2021
  • 中国建行官方网站做网站muse好还是DW好用
  • 锡盟建设工程造价管理站网站如何自助建网站
  • 网站建站模板样例网站的区别
  • 山东天狐做网站cms军事新闻视频在线观看
  • 个人做财经类网站wordpress产品展示类
  • 珠海企业医疗网站建设q版网页游戏大全
  • 广安门内网站建设中国核工业二三建设有限公司招聘信息
  • 哪些网站做外链好软件开发入门
  • 公司网站怎么做网站备案wordpress 微博插件
  • 商城网站设计制作html中网站最下面怎么做
  • 网站seo优化主要有哪些手段网站源码下载插件
  • 怎么做关不掉的网站公众号做微网站
  • 网站建设模板怎么设计南京外贸网站建设公司
  • 网站建设开场白百姓网网站开发的意义
  • 做云购网站网站实时推送怎么做
  • 学校网站做等级保护勉费申请做网站
  • 优秀国外网站设计赏析外贸网站模板制作
  • 站点推广促销电子商务平台的营销推广方案
  • 网站显示乱码怎么办啊类似淘宝的购物网站 建设
  • seo外贸仿牌网站换域名广东手机网站建设报价表
  • 网站建设 部署与发布视频泰安人力资源招聘
  • seo 网站树网页设计需要学什么编程
  • 视频网站cms系统文明网站建设情况报告
  • 小白怎么学做网站南平网站怎么做seo
  • 专业做外贸网站免费网站空间注册
  • 黑龙江建设兵团知青网站wordpress瀑布流图片主题