全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
流计算

存储概览

更新时间:2017-12-27 11:21:32

为方便用户管理数据存储,通过提前注册数据存储,用户能够享受到更多一站式流计算开发平台提供的便利性。阿里云流计算提供包括RDS、ADS、OTS等各类数据存储系统的管理界面。让用户无需跨越多种产品的管理页面,使用阿里云流计算平台,即可让你一站式管理你的云上数据存储。

特别注意有两点:

  • 流计算数据存储功能当前仅支持同账号属主下的存储资源,即当前使用流计算的A用户(包括A下所属的子账户),所注册的数据存储必须是A购买的数据存储。当前不支持跨账号授权。对于不属于当前用户的资源使用,用户可以直接使用AccessId/AccessKey在DDL定义语句中直接写出。参看文章最下面的《跨账号资源引用》一小节。

  • 数据存储注册需要提前授权,请参看《角色授权》

存储类别

流式存储

流式存储为下游流计算提供数据驱动,同时也可以为流计算作业提供数据输出。

支持情况 输入 输出
DataHub 支持 支持
日志服务(LogHub) 支持 支持
消息队列源表 (MQ) 支持 支持

静态存储

静态存储为流计算提供了数据关联查询,同时也可以作为流计算作业数据输出。

支持情况 维表 输出
云数据库(RDS) 支持 支持
表格存储结果表(TableStore) 支持 支持

存储使用

注册的数据存储将为以下使用场景提供服务,可以看到通过提前注册数据存储,用户能够享受到更多一站式流计算开发平台提供的便利性。特别需要注意的是,公有云在使用角色授权模式下,只能注册当前用户下的其他数据存储,跨属主的数据存储不能注册。例如A用户拥有DataHub的ProjectA,但B用户希望在流计算使用ProjectA,目前流计算暂不支持这类使用情况。

注意,实际上,对于不属于当前用户的资源使用,用户可以直接用AccessId/AccessKey在DDL定义语句中直接写出,此时用户无法界面化操作数据存储,但是作业是可以直接运行的。

数据注册

用户第一次在未注册任何数据存储前无法使用数据存储提供的各项功能,用户必须先注册流计算需要的的相关数据存储信息才能够使用,用户进入开发界面,在左侧边工具栏点击”数据存储”,点击”+”(添加按钮),即可进入数据存储注册页面,如下图所示:

2211

再次提醒,流计算数据存储功能当前仅支持同账号属主下的存储资源,即当前使用流计算的A用户(包括A下所属的子账户),所注册的数据存储必须是A购买的数据存储。当前不支持跨账号授权。

数据预览

流计算为每个已经注册的数据存储提供了数据预览功能,点击”数据存储”,选择某个数据存储类型,即可预览数据。以DataHub为例讲解下数据预览功能:

选择”数据存储” -> “DataHub存储” -> 选择具体的Project -> 选择具体需要预览的Topic,双击即可进入查看数据存储

ssd

自动生成DDL

流计算在引用外部存储时候,需要提前对于外部存储进行声明工作,例如对于声明一个流式输入引用:

  1. CREATE TABLE in_stream(
  2. a varchar,
  3. b varchar,
  4. c timeStamp,
  5. ) with (
  6. type='datahub',
  7. endPoint='http://dh-cn-hangzhou.aliyuncs.com',
  8. project='blink_test',
  9. topic='ip_count02',
  10. accessId='LTAIYtafPsXXXX',
  11. accessKey='gUqyVwfkK2vfJI7jF90QXXXXX'
  12. );

流计算要求声明的表字段名称与源DataHub表保持一致,类型需要根据两边的类型进行一定的转换。这类转换工作特别琐碎,并且稍不注意就容易犯错。流计算提供了辅助生成DDL功能,帮助用户可以一键生成建表DDL语句。

在数据开发页面,进入需要编辑的作业,点开侧边栏的”数据存储”工具箱:

22这里选择作为输入表进行引用,点击”作为输入表引用”。此时流计算系统会在当前光标界面生成上述DDL信息。

附: 跨账号的资源引用

当前流计算界面不支持跨账号数据存储注册和使用,流计算数据存储功能当前仅支持同账号属主下的存储资源,即当前使用流计算的A用户(包括A下所属的子账户),所注册的数据存储必须是A购买的数据存储。当前不支持跨账号授权。此时用户需要使用,可以考虑直接在DDL语句中手写外部数据引用。例如,如果用户A需要使用用户B的资源,那么他可以在DDL定义:

  1. CREATE TABLE in_stream(
  2. a varchar,
  3. b varchar,
  4. c timeStamp,
  5. ) with (
  6. type='datahub',
  7. endPoint='http://dh-cn-hangzhou.aliyuncs.com',
  8. project='blink_test',
  9. topic='ip_count02',
  10. accessId='B用户授权的AccessId',
  11. accessKey='B用户授权的AccessKey'
  12. );
本文导读目录