由于需要测试阿里云Datahub功能,因此测了一下Datahub的一些功能

DATAHUB:
简介:
阿里云的流式数据(streaming)处理平台
对流式数据的发布(publish)订阅(subscribe)和分发功能
 
主要功能:
采集实时数据,如移动设备,传感器,网站服务等
使用脚本或流计算引擎来处理写入datahub的数据
最后生成实时图表/报警信息等
 
术语:
project:项目,包含多个topic
topic:可以表示一种类型的流,订阅和发布单位
shard:topic的并发通道
record:用户数据与datahub端交互的基本单位
recordtype:topic的数据类型,支持tuple和blob
DataConnect:把datahub中的流式数据同步到其他云产品中的功能,现在支持odps/oss/es/mysql
 
操作过程
首先在新建project,注意管理员账号
注意授权信息
参考<授权信息管理>
<https://help.aliyun.com/document_detail/47442.html?spm=a2c4g.11186623.6.544.371f1a12NmNa1w>
 
然后进入后,创建topic
schema是指column,可以选择多种数据类型
 
新建DataConnect,来设置下游数据
 
设置maxcompute连接
 
使用python来插入数据到topic
import sys
import traceback
from datahub import DataHub
from datahub.exceptions import ResourceExistException
from datahub.models import FieldType, RecordSchema, TupleRecord, BlobRecord, CursorType, RecordType access_id =
access_key =
endpoint = 'https://dh-cn-shanghai.aliyuncs.com'
dh = DataHub(access_id, access_key, endpoint) ##写入
project_name=
topic_name =
try:
# block等待所有shard状态ready
dh.wait_shards_ready(project_name, topic_name)
print("shards all ready!!!")
print("=======================================\n\n")
topic_result = dh.get_topic(project_name, topic_name)
print(topic_result)
if topic_result.record_type != RecordType.TUPLE:
print("topic type illegal!")
sys.exit(-1)
print("topic type normal")
print("=======================================\n\n")
record_schema = topic_result.record_schema
records0 = []
record0 = TupleRecord(schema=record_schema, values=['1', '2yc1', '30.01', '4True', '5455869335000000','6','1455869335000000'])
record0.shard_id = '0'
record0.put_attribute('AK', '47')
records0.append(record0)
for i in range (1,10000):
record2 = TupleRecord(schema=record_schema)
record2.set_value(0, str(i))
record2.set_value(1, str(i)+'yc3')
record2.set_value(2, str(i+1.1))
record2.set_value(3, str(i))
record2.set_value(4, '1455869335000011')
record2.set_value(5, '20180913_1115')
record2.set_value(6, int(time.time())*1000000)
record2.attributes = {'key': 'value'}
record2.partition_key = 'EVENT_TIME'
records0.append(record2) put_result = dh.put_records(project_name, topic_name, records0)
print(put_result)
print("put tuple %d records, failed count: %d" %(len(records0), put_result.failed_record_count))
# failed_record_count如果大于0最好对failed record再进行重试
print('结束')
print
print("=======================================\n\n")
except DatahubException as e:
print(e)
sys.exit(-1)

进行验证数据导入

maxcompute默认是五分钟或者50M触发一次同步,如果需要实时的就要rds登场了
这样就测试完成了.后期进行压测,待续..
 
 
 
 
 

[阿里云]Datahub测试使用记录的更多相关文章

  1. 阿里云X-Forwarded-For 发现tomcat记录的日志所有来自于SLB转发的IP地址,不能获取到请求的真实IP。

    1.背景:阿里云的SLB的负载均衡,在tomcat中获取不到真实IP,而是阿里的内网IP,SLB中俩台或者3台本身是局域网,这里是SLB原理,能够看看.没怎么看懂.呵呵,要细细读下. 2.须要开启to ...

  2. 芝麻HTTP:在阿里云上测试Gerapy教程

    1.配置环境 阿里云的版本是2.7.5,所以用pyenv新安装了一个3.6.4的环境,安装后使用pyenv global 3.6.4即可使用3.6.4的环境,我个人比较喜欢这样,切换自如,互不影响. ...

  3. 阿里云ECS-Nginx阿里云客户端IP日志记录

    #前端有SLB服务,记录客户端真实IP信息 log_format main 'realip:$http_x_forwarded_for slbip:$remote_addr-$remote_user ...

  4. 阿里云ECS升级OpenSSL记录

    1.下载OpenSSL wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz 2.解压编译安装 tar xf openssl-1.1.0e ...

  5. 阿里云服务器如何设置IPV6通过appstore的审核

    苹果上架要求:要求支持IPV6only(因为阿里云主机没有IPV6only) 确认IPV6是否开启: 方式1:使用ifconfig查看自己的IP地址是否含有IPv6地址. 方式2.查看服务监听的IP中 ...

  6. 在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

    阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在 ...

  7. 阿里云服务器Node环境配置

    最近,将网站的阿里云服务器迁移到阿里云北京机房,记录下CentOS的迁移过程. 首次登录云服务器,要先进行用户设置. 用户设置 首先用passwd命令修改超级管理员root密码. $ passwd 根 ...

  8. 阿里云搭建go开发环境

    开通了一个阿里云来玩,记录一下环境搭建的过程 运行环境 ECS Ubuntu 16.04 64位 过程 #切换到安装文件夹 cd /usr/local #下载go #由于墙的原因,直接下载官方的可能会 ...

  9. (转)在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

    阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在 ...

  10. MongoDB自建和阿里云RDS备份还原

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功 ...

随机推荐

  1. Linux系统安装宝塔面板教程

    # Linux系统宝塔安装教程 注意:安装宝塔面板的前提条件 首先要有一台服务器或者使用linux系统的虚拟机. 安装前请确保是[全新的机器].必须是没装过其它环境的新系统,如Apache/Nginx ...

  2. win10本地python第三方库安装成功,但是pycharm项目无法使用解决方案

    一.背景win10本地python第三方库安装成功,但是pycharm项目无法使用解决方案如本地安装的python中的request库,在pycharm项目中居然无法使用,比较郁闷 pip list ...

  3. c语言中 -> 的用法

    ->是一个整体,它是用于指向结构体. 1.换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到"->&quo ...

  4. 网络协议之:redis protocol 详解

    目录 简介 redis的高级用法 Redis中的pipline Redis中的Pub/Sub RESP protocol Simple Strings Bulk Strings RESP Intege ...

  5. MobaXterm/Xshell快速命令宏配置

    背景:使用MobaXterm或者Xshell连接远程服务器时,添加常用的命令宏一键执行,能提高效率节约时间. 使用方法: MobaXterm: 1)左边菜单栏->Macros->Recor ...

  6. 给ofo共享单车撸一个微信小程序

    想学一下微信小程序,发现文档这东西,干看真没啥意思.所以打算自己先动手撸一个.摩拜单车有自己的小程序,基本功能都有,方便又小巧,甚是喜爱.于是我就萌生了一个给ofo共享单车撸一个小程序(不知道为啥of ...

  7. 1759E(方案枚举)

    题目链接 题目大意: 给你n个数(n个宇航员对应的能量值) 一个h ,h表示机器人当前的能量值.机器人拥有2中绿色的药剂,一瓶蓝色的药剂.其中绿色的药剂可以使机器人的能量值变为现在的2倍(2-> ...

  8. Pycharm2022.1.3安装教程(包含基础使用配置)

    pycharm的下载安装及使用 以我的Pycharm2022.1.3为例 首先去官网下载professtional(专业版)版本 2022.1.3版本Pycharm软件 https://www.jet ...

  9. ArcObjects SDK开发 005 ArcObjects SDK中的插件式架构

    1.什么是插件式架构 插件式架构设计中主要包括三个重要部分,宿主.插件协议以及插件实现.宿主是指使用插件的部分,该模块可以是一个类,也可以是多个接口和类组成的模块.插件协议是指宿主与插件之间的协议,宿 ...

  10. ArcEngine 序列化AO对象

    ArcEngine中只要是继承了IPersistStream接口的对象均可调用ArcEngine中的类库进行序列化和反序列化.一般我们会序列化成xml格式,作为字符串存储,需要的时候,反序列化为对象. ...