阿里大数据计算服务MaxCompute-DataHub服务D.docx

阿里大数据计算服务MaxCompute-DataHub服务D.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大数据计算服务MaxComputeDatahub服务Datahub服务MaxCompute DataHub Service(DHS)是一个 MaxCompute 的内建服务,使用RESTful接口向用户提供实时数据的发布(Publish)和订阅(Subscribe)的功能。用户可以将数据记录(Record),通过DHS的某个数据通道(Shard)写入到 MaxCompute 的表中,数据通道的数量由用户指定。写入成功后,用户可以通过订阅接口实时读到写入的数据。由于不用创建 MaxCompute 任务(Task), DHS可以提供给用户较高的QPS(Query Per Second)和较大的吞吐量。备注:目前 DataHub 已处于维护状态,不再接入新用户。后续 DataHub 会成为一款阿里云的独立产品,相关信息请关注阿里云官方通告。DHS上可订阅的数据仅会被保存7天,但所有的数据会被系统自动增量复制到 MaxCompute 表中,参与后续的离线作业计算。如下图所示,我们对DHS的工作流程做简要介绍:用户将需要上传的数据放入pack中,并指定将这个pack中的数据通过某一路通道(Shard)上传至DHS。请注意,同一个pack中的记录必须属于同一个表分区(partition)。在DHS中,同一个Shard下数据按照上传时间严格 有序,且有可能会包含不同Partition的数据。在上图示例中,相同颜色的pack表示partition值相同。DHS上的在线数据会被增量复制到 MaxCompute 的离线数据中。目前,离线数据仅供离线作业处理,用户可以通过DHS提供的接口检查DHS到 MaxCompute 的数据同步状态。DHS快速指引可以通过以下步骤,帮助您快速进入 MaxCompute DataHub Service 的使用和相关开发工作。准备Odps表要使用DHS 必须先拥有一张 MaxCompute 表(OdpsTable)。可以使用alter语句修改hublifecycle,hublifecycle选项尚未生效,默认值为7:注意:在使用datahub写入Odps表的时候请不要删除/重命名正在写入的分区或者表,可能会导致数据 丢失。ALTER TABLE table_name set hublifecycle nl;单table最大shard数不能超过50,需要增大请联系售后人员。加载ShardShard是数据传输的通道,用户在使用DHS前必须启动相应的shard通道,因此用户进行数据的上传和下载时必 须先进行加载shard的操作。加载shard的操作在shard的使用过程中只需要操作一次。此过程可通过 SDK 或 客户端工具进行。Java SDK加载Shard:void com.aliyun.odps.datahub.DatahubClient::loadShard(long shardNumber);利用 ODPS,project,table以及datahubEndpoint的相关信息构造DatahubClient对象,使用该对象的loadshard(shardNumber)方法加载shard。Odps Console加载Shard:hub load [num] shards on [prj_name.tbl_name] [endpoint];Console命令:执行过程中,会输出当前执行状态,Example:hub load 3 shards on test_project.test_table ;Shard load status:1/3 Shard load status:3/3 OK其中shardNumber为加载的shard个数(0 sharNumber = maxShardNumber, maxShardNumber为project上限制的单个table最大shard数量)。详细方法请参考DHS SDK 。数据上传与下载//构造DatahubWriter对象,client为构造的DatahubClient对象,参数为shardId DatahubWriter writer = client.openDatahubWriter(shardId);//获取table的schemaTableSchema schema = client.getStreamSchema();//利用table的schema新建上传packetDatahubRecordPack rp = new DatahubRecordPack(schema);//自定义makeRecord方法,生成record数据,Pack最大为8MB,超出大小append会抛出异常Record record = makeRecord(schema)

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档