欢迎来到天天文库
浏览记录
ID:35885602
大小:232.52 KB
页数:24页
时间:2019-04-22
《阿里大数据计算服务MaxCompute-DataHub服务D》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、大数据计算服务MaxComputeDatahub服务大数据计算服务MaxCompute/Datahub服务Datahub服务MaxComputeDataHubService(DHS)是一个MaxCompute的内建服务,使用RESTful接口向用户提供实时数据的发布(Publish)和订阅(Subscribe)的功能。用户可以将数据记录(Record),通过DHS的某个"数据通道"(Shard)写入到MaxCompute的表中,数据通道的数量由用户指定。写入成功后,用户可以通过订阅接口实时读到写入的数据。由于不用创建MaxCompute任务(Tas
2、k),DHS可以提供给用户较高的QPS(QueryPerSecond)和较大的吞吐量。备注:目前DataHub已处于维护状态,不再接入新用户。后续DataHub会成为一款阿里云的独立产品,相关信息请关注阿里云官方通告。DHS上可订阅的数据仅会被保存7天,但所有的数据会被系统自动增量复制到MaxCompute表中,参与后续的离线作业计算。如下图所示,我们对DHS的工作流程做简要介绍:用户将需要上传的数据放入pack中,并指定将这个pack中的数据通过某一路通道(Shard)上传至DHS。请注意,同一个pack中的记录必须属于同一个表分区(partit
3、ion)。在DHS中,同一个Shard下数据按照上传时间严格有序,且有可能会包含不同Partition的数据。在上图示例中,相同颜色的pack表示partition值相同。DHS上的在线数据会被增量复制到MaxCompute的离线数据中。目前,离线数据仅供离线作业处理,用户可以通过DHS提供的接口检查DHS到MaxCompute的数据同步状态。23大数据计算服务MaxCompute/Datahub服务DHS快速指引可以通过以下步骤,帮助您快速进入MaxComputeDataHubService的使用和相关开发工作。准备Odps表要使用DHS必须先拥
4、有一张MaxCompute表(OdpsTable)。-可以使用alter语句修改hublifecycle,hublifecycle选项尚未生效,默认值为7:-注意:在使用datahub写入Odps表的时候请不要删除/重命名正在写入的分区或者表,可能会导致数据丢失。ALTERTABLEsethublifecycle;-单table最大shard数不能超过50,需要增大请联系售后人员。加载ShardShard是数据传输的通道,用户在使用DHS前必须启动相应的shard通道,因此用户进行数据的上传和下载时必须先进行加载sh
5、ard的操作。加载shard的操作在shard的使用过程中只需要操作一次。此过程可通过SDK或客户端工具进行。JavaSDK加载Shard:voidcom.aliyun.odps.datahub.DatahubClient::loadShard(longshardNumber);利用ODPS,project,table以及datahubEndpoint的相关信息构造DatahubClient对象,使用该对象的loadshard(shardNumber)方法加载shard。OdpsConsole加载Shard:hubload[num]shardson
6、[tbl_name][endpoint];Console命令:执行过程中,会输出当前执行状态,Example:hubload3shardsontest_project.test_tablehttp://dh.odps.aliyun.com;23大数据计算服务MaxCompute/Datahub服务Shardloadstatus:1/3Shardloadstatus:3/3OK其中shardNumber为加载的shard个数(07、限制的单个table最大shard数量)。详细方法请参考DHSSDK。数据上传与下载//构造DatahubWriter对象,client为构造的DatahubClient对象,参数为shardIdDatahubWriterwriter=client.openDatahubWriter(shardId);//获取table的schemaTableSchemaschema=client.getStreamSchema();//利用table的schema新建上传packetDatahubRecordPackrp=newDatahubRecordPack8、(schema);//自定义makeRecord方法,生成record数据,Pack最大为8MB,超出大小append会抛
7、限制的单个table最大shard数量)。详细方法请参考DHSSDK。数据上传与下载//构造DatahubWriter对象,client为构造的DatahubClient对象,参数为shardIdDatahubWriterwriter=client.openDatahubWriter(shardId);//获取table的schemaTableSchemaschema=client.getStreamSchema();//利用table的schema新建上传packetDatahubRecordPackrp=newDatahubRecordPack
8、(schema);//自定义makeRecord方法,生成record数据,Pack最大为8MB,超出大小append会抛
此文档下载收益归作者所有