Github实时数据分析与可视化
1. 实验资源方式简介及开始实验
云起实验室实验资源方式介绍
云起实验室支持领取免费试用额度、个人账户资源两种实验资源方式。
领取免费试用额度
使用个人账号开通试用,平台仅提供手册参考。
所有实验操作将保留至您的账号,请谨慎操作。
在实验页面下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心。
说明:试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出免费试用额度,可能会产生一定费用。
个人账户资源
使用您个人的云资源进行操作,资源归属于个人。
所有实验操作将保留至您的账号,请谨慎操作。
平台仅提供手册参考,不会对资源做任何操作。
说明:使用个人账户资源,在创建资源时,可能会产生一定的费用,请您及时关注相关云产品资源的计费概述。
准备开始实验
在实验开始前,请您选择其中一种实验资源,单击确认开启实验。
2. 领取免费试用资源
实验前必看!
如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
为了避免资源浪费并造成账号扣费的情况,请严格按照本文提供的参数进行配置。在实验完成之后,请您及时删除或禁用压测任务。
在实验开始前,请您选择开通免费试用。
准备新阿里云账号阿里云
说明:如果您已有阿里云账号,实名认证完成,并且已创建访问秘钥AccessKey,您可跳过此步骤。
2.1 进入阿里云官网,单击免费注册,创建阿里云账号。
2.2 对阿里云账号进行实名认证。
2.3 创建访问密钥AccessKey。
2.4 成功创建AccessKey后,返回AccessKey页面。您可以查看当前账号的AccessKey状态。详情请参见准备阿里云账号。
创建专有网络VPC和交换机
3.1 登录专有网络管理控制台。
3.2 在顶部菜单栏,选择华东2(上海)地域。
3.3 在左侧导航栏,单击专有网络。
3.4 在专有网络页面,单击创建专有网络。
3.5 在创建专有网络页面,配置1个专有网络(VPC)和1台交换机,交换机的可用区选择上海可用区E,然后单击确定。详情请参见创建专有网络和交换机。
单击已创建的VPC实例ID,在资源管理页签添加安全组。详情请参见创建安全组。
开通实时数仓Hologres免费试用。
4.1 在实验室页面下方,选择实时数仓Hologres,单击立即试用。
4.2 在实时数仓Hologres面板,完成参数信息配置。本试用教程以表格中的参数信息为例,未提及参数保持默认值,勾选服务协议后,单击立即试用,并根据页面提示完成试用申请。
参数 |
示例值 |
地域 |
华东2(上海) |
实例类型 |
通用型 |
计算资源 |
8核32GB(计算节点数量:1) |
专有网络 |
选择已创建的VPC。 |
专有网络交换机 |
选择已创建的交换机。 |
实例名称 |
hologres_test |
资源组 |
默认资源组 |
4.3 试用申请成功通过后,系统将会为您自动创建Hologres实例。前往实时数仓Hologres控制台,在实例列表页面,等待运行状态变为运行正常,即可正常使用。
开通云原生大数据计算服务MaxCompute免费试用。
5.1 在实验室页面下方,选择云原生大数据计算服务MaxCompute,单击立即试用。
5.2 在云原生大数据计算服务MaxCompute面板,配置开通地域为华东2(上海),其他参数保持默认,勾选服务协议,单击立即试用,并根据页面提示完成试用申请。
开通DataWorks免费试用。
6.1 在实验室页面下方,选择大数据开发治理平台,单击立即试用。
6.2 在大数据开发治理平台DataWorks面板,地域和可用区选择华东2(上海),勾选服务协议,单击立即试用,开通DataWorks按量付费。
6.3 在实验室页面下方,选择大数据开发治理平台,单击立即试用。
6.4 在DataWorks独享数据集成资源组面板,设置资源名称和资源备注,资源组选择默认资源组,勾选服务协议,单击立即试用,申请DataWorks独享数据集成资源组免费试用。
开通DataV免费试用。
7.1 在实验室页面下方,选择数据可视化DataV,单击立即试用。
7.2 在据可视化DataV面板,勾选服务协议,单击立即试用。
领取完免费试用后,返回资源领取界面,单击我已开通,进入实验。
说明:如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
3. 创建资源
说明:
如果您选择的免费试用,并且在上一小节只能领取部分免费试用产品,不满足免费试用资格的产品请您根据如下步骤使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
如果您选择的个人资源,请您根据如下操作,创建实验所需资源,并会产生一定的费用,请您及时关注账户扣费。
准备新阿里云账号
如果您已有阿里云账号,实名认证完成,并且已创建访问秘钥AccessKey,您可跳过此步骤。
进入阿里云官网,单击免费注册,创建阿里云账号。
对阿里云账号进行实名认证。
创建访问密钥AccessKey。
成功创建AccessKey后,返回AccessKey页面。您可以查看当前账号的AccessKey状态。详情请参见准备阿里云账号。
创建专有网络VPC和交换机
登录专有网络管理控制台。
在顶部菜单栏,选择华东2(上海)地域。
在左侧导航栏,单击专有网络。
在专有网络页面,单击创建专有网络。
在创建专有网络页面,配置1个专有网络(VPC)和1台交换机,交换机的可用区选择上海可用区E,然后单击确定。详情请参见创建专有网络和交换机。
单击已创建的VPC实例ID,在资源管理页签添加安全组。详情请参见创建安全组。
创建实时数仓Hologres
说明:
如果您选择的免费试用,并且在上一步骤中领取了实时数仓Hologres免费试用,请您跳过本步骤,直接进行下一小节操作。
如果您选择的免费试用,但是您的阿里云主账号没有资格领取实时数仓Hologres的免费试用,请您根据如下操作,开通实时数仓Hologres,会产生一定的费用,具体计费详情,请参见计费概述
如果您选择的个人资源,请您根据如下操作,开通实时数仓Hologres,会产生一定的费用,具体计费详情,请参见计费概述。如果您已开通实时数仓Hologres,请您跳过本步骤,直接进行下一小节操作。
登录Hologres控制台,在实例列表页面,单击新增引擎实例。
在实时数仓Hologres购买页面,完成参数信息配置。本试用教程以表格中的参数信息为例,未提及参数保持默认值,勾选服务协议后,单击立即购买。
参数 |
示例值 |
地域 |
华东2(上海) |
实例类型 |
通用型 |
计算资源 |
8核32GB(计算节点数量:1) |
专有网络 |
选择已创建的VPC。 |
专有网络交换机 |
选择已创建的交换机。 |
实例名称 |
hologres_test |
资源组 |
默认资源组 |
在购买完成页面,单击前往控制台。
在实例列表页面,等待运行状态变为运行正常,即可正常使用。
开通MaxCompute
如果您选择的免费试用,并且在上一步骤中领取了云原生大数据计算服务MaxCompute免费试用,请您跳过本步骤,直接进行下一小节操作。
如果您选择的免费试用,但是您的阿里云主账号没有资格领取云原生大数据计算服务MaxCompute的免费试用,请您根据如下操作,开通云原生大数据计算服务MaxCompute,会产生一定的费用,具体计费详情,请参见计费概述
如果您选择的个人资源,请您根据如下操作,开通云原生大数据计算服务MaxCompute,会产生一定的费用,具体计费详情,请参见计费概述。如果您已开通云原生大数据计算服务MaxCompute,请您跳过本步骤,直接进行下一小节操作。
全新的、此前未开通过MaxCompute的阿里云账号,可登录并前往阿里云MaxCompute产品首页,单击立即开通,根据界面提示配置地域信息为华东2(上海),开通并购买按量付费标准版的MaxCompute。
说明:首次开通MaxCompute时,默认开通的是按量付费标准版的MaxCompute,按量付费计费模式的版本,不使用时不收取费用,开通后如果使用,会根据使用量收取费用,各类计费项的计费详情请参见计算费用(按量计费)、存储费用、数据传输费用(公网下载)。
创建DataWorks独享数据集成资源组
如果您选择的免费试用,并且在上一步骤中领取了大数据开发治理平台 DataWorks免费试用,请您跳过本步骤,直接进行下一小节操作。
如果您选择的免费试用,但是您的阿里云主账号没有资格领取大数据开发治理平台 DataWorks的免费试用,请您根据如下操作,开通大数据开发治理平台 DataWorks,会产生一定的费用,具体计费详情,请参见产品计费。
如果您选择的个人资源,请您根据如下操作,开通大数据开发治理平台 DataWorks,会产生一定的费用,具体计费详情,请参见产品计费。如果您已开通大数据开发治理平台 DataWorks,请您跳过本步骤,直接进行下一小节操作。
进入DataWorks产品首页,单击立即开通。
在购买页面,地域和可用区选择华东2(上海),版本选择基础版,独享资源选择独享数据集成资源,根据实际情况选择资源数量和计费周期,设置资源名称和资源备注,勾选服务协议,单击立即购买。
登录DataWorks控制台。
在工作空间列表或概览页,单击创建工作空间。
配置工作空间基本信息。
参数说明如下:
参数 |
示例值 |
描述 |
工作空间名称 |
test |
当前工作空间的唯一标识,创建后无法修改。 |
显示名 |
test |
建议基于业务属性命名,便于标识工作空间用途。 |
生产、开发环境隔离 |
否 |
定义工作空间模式。 需隔离生产、开发环境,则创建的为标准模式的工作空间。 无需隔离生产、开发环境,则创建的为简单模式的工作空间。 您可参考必读:简单模式和标准模式的区别并结合业务需求确认,需创建哪种类型的工作空间。 |
空间管理员 |
默认阿里云主账号 |
定义该工作空间的管理员。 默认当前登录账号为该工作空间的管理员。您也可自行添加工作空间中的其他成员为管理员,协同管理该工作空间。空间管理员可为工作空间添加空间成员,详情请参见添加工作空间成员。 |
资源组 |
默认资源组 |
选择阿里云资源管理中创建的资源组,默认选择默认资源组。 若您的公司购买了多种阿里云资源,则可通过资源管理创建资源组进行云资源分组,并为资源组设置管理员,通过分组独立管理资源组内的所有资源。 |
调度PAI算法任务 |
hologres_test开启 |
如需进行周期性调度算法任务,则可启用该功能。详情请参见机器学习。 |
描述 |
test |
用于辅助标识工作空间的主要用途、相关信息。 |
单击提交,工作空间创建完成。
在左侧导航栏,单击资源组列表。
在独享资源组页签,找到您创建的独享数据集成资源组,单击右侧操作列下的修改归属工作空间。
在修改归属工作空间对话框中,在您创建的工作空间右侧,单击绑定。
创建DataV免费试用
如果您选择的免费试用,并且在上一步骤中领取了DataV数据可视化免费试用,请您跳过本步骤,直接进行下一小节操作。
如果您选择的免费试用,但是您的阿里云主账号没有资格领取DataV数据可视化的免费试用,请您根据如下操作,开通DataV数据可视化,会产生一定的费用,具体计费详情,请参见计费方式。
如果您选择的个人资源,请您根据如下操作,开通DataV数据可视化,会产生一定的费用,具体计费详情,请参见计费方式。如果您已开通DataV数据可视化,请您跳过本步骤,直接进行下一小节操作。
登录DataV控制台。
阅读相关协议,并选中同意使用协议,单击立即开通。
说明:如果已经开通服务,可直接在控制台上进行操作。
在服务开通页面,单击购买。
在购买页面,选择产品版本和购买时长。
产品版本包括了企业版、专业版和尊享版,各版本的功能有所差异。可单击各版本页签查看版本功能,根据具体需求,选择合适的版本进行购买。
说明:企业版和专业版支持按年或按月购买,尊享版只支持按年购买。
单击立即购买。
4. 导入实时数据
在Hologres中创建内部表用于后续写入数据。
初始化Hologres环境。
进入Hologres控制台-实例列表页面,单击目标实例名称,进入实例详情页面。
在实例详情页面单击登录实例,进入HoloWeb。
在元数据管理页面中单击数据库。
在新建数据库对话框中配置如下参数,并单击确认。
参数 |
说明 |
实例名 |
选择在哪个Hologres实例上创建数据库。默认展示当前已登录实例的名称,您也可以在下拉框中选择其他Hologres实例。 |
数据库名称 |
本示例数据库名称设置为holo_tutorial。 |
简单权限策略 |
选择默认的SPM。更多关于权限策略的说明,请参见:
|
立即登录 |
选择是。 |
进入顶部菜单栏的SQL编辑器页面,单击左上角的图标,打开临时Query查询页面。
新建Hologres内部表。
在临时Query查询页面执行如下示例命令,创建Hologres内部表hologres_dataset_github_event.hologres_github_event,后续会将数据实时写入至该表中。
-- 新建schema用于创建内表并导入数据 CREATE SCHEMA IF NOT EXISTS hologres_dataset_github_event; DROP TABLE IF EXISTS hologres_dataset_github_event.hologres_github_event; BEGIN; CREATE TABLE hologres_dataset_github_event.hologres_github_event ( id bigint PRIMARY KEY, actor_id bigint, actor_login text, repo_id bigint, repo_name text, org_id bigint, org_login text, type text, created_at timestamp with time zone NOT NULL, action text, commit_id text, member_id bigint, language text ); CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'distribution_key', 'id'); CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'event_time_column', 'created_at'); CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'clustering_key', 'created_at'); COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.id IS '事件ID'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_id IS '事件发起人ID'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_login IS '事件发起人登录名'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_id IS 'repoID'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_name IS 'repo名称'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_id IS 'repo所属组织ID'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_login IS 'repo所属组织名称'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.type IS '事件类型'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.created_at IS '事件发生时间'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.action IS '事件行为'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.commit_id IS '提交记录ID'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.member_id IS '成员ID'; COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.language IS '编程语言'; COMMIT;
5. 实时同步数据至Hologres
数据库创建成功后,您需在数据库中创建对应的表。
网络打通。
需要将DataWorks独享数据集成资源组与创建的VPC进行绑定,保障网络连通性,才可进行数据同步。
前往授权页面,授予DataWorks进行云资源访问权限。
进入DataWorks资源组列表页面,单击目标独享数据集成资源组操作列的网络设置。
在专有网络绑定页签下,单击新增绑定,在弹出的新增专有网络绑定面板中,填写专有网络信息,并单击确定。
参数 |
说明 |
资源组名称 |
默认为目标独享数据集成资源组的名称。 |
专有网络 |
选择上述已创建的VPC专有网络。 |
可用区 |
选择VPC专有网络所在的可用区。 |
交换机 |
选择上述已创建的交换机。 |
安全组 |
选择上述已创建的安全组。 |
在独享资源组页签,找到您创建的独享数据集成资源组,单击右侧操作列下的修改归属工作空间。
说明:如果您选择的免费试用,您需要在此步骤将独享数据集成资源组绑定到默认的工作空间。
在修改归属工作空间对话框中,在您的工作空间右侧,单击绑定。
创建实时同步任务。
在DataWorks数据集成首页,单击创建我的数据同步。
在新建同步任务页面,根据下表配置任务名称和同步类型,未提及的参数保持默认。
参数 |
说明 |
新任务名称 |
自定义。本文以data_test为例。 |
选择数据源 |
来源端:选择MySQL。 目的端:选择Hologres。 |
在网络与资源配置区域配置数据来源。
单击数据来源右侧的新建数据源。
在新增MySQL数据源对话框中配置如下参数,未提及的参数保持默认,并单击完成。
参数 |
说明 |
数据源类型 |
选择连接串模式。 |
数据源名称 |
自定义。本文以mysqlData为例。 |
JDBC URL |
jdbc:mysql://rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com:3306/github_events_share |
用户名 |
workshop |
密码 |
workshop#2017 此密码仅为本教程示例,请勿在实际业务中使用。 |
认证选项 |
无认证。 |
在网络与资源配置区域配置同步资源组。
选择DataWorks免费独享数据集成资源组。
注意:为保持公共数据源连接稳定,独享数据集成资源组与公共MySQL数据源创建连接后7天将进行释放,不影响独享数据集成资源组与您自己的MySQL创建的连接。
在网络与资源配置区域配置数据去向。
单击数据去向右侧的新建数据源。
在新增Hologres数据源对话框中配置如下参数,未提及的参数保持默认,并单击完成。
参数 |
说明 |
数据源类型 |
阿里云实例模式。 |
数据源名称 |
自定义。本文以hologresData为例。 |
实例ID |
进入实例列表页面单击目标实例,在实例详情页面,获取实例ID。 |
数据库名 |
填写上述已创建的Hologres数据库名称。 |
AccessKey ID |
进入AccessKey管理页面获取AccessKey ID。 |
AccessKey Secret |
进入AccessKey管理页面获取AccessKey Secret。 |
认证选项 |
无认证。 |
单击网络与资源配置区域的测试所有连通性,保障网络连通。
实时同步任务设置。
测试连通性成功后,选择对应MySQL中的github表,勾选表并批量刷新映射。
基于上述已创建的Hologres内部表,将目标Schema名改为hologres_dataset_github_event,目标表名改为hologres_github_event,单击完成配置。
在任务列表页面启动任务,查看执行详情。
公共数据源MySQL中保留近7天数据,离线数据将会通过全量进行同步,实时数据将在全量初始化完成后,实时写入Hologres。
待数据同步成功后,前往Hologres进行实时数据分析。
6. 实时数据分析与可视化
实时数据分析
进入HoloWeb SQL编辑器,查询实时更新的过去24小时GitHub最活跃项目。
SELECT repo_name, COUNT(*) AS events FROM hologres_dataset_github_event.hologres_github_event WHERE created_at >= now() - interval '1 day' GROUP BY repo_name ORDER BY events DESC LIMIT 5;
可以在元数据管理中自定义实时查询与分析Hologres近7天的数据。后续将其他维度的实时查询分析结果对接到DataV大屏,SQL样例可以查看附录。
实时数据可视化。
基于DataV自带模板,快速完成数据可视化大屏搭建。
前往DataV控制台,在左侧导航栏中选择数据准备 > 数据源。
在数据源页面,单击新建数据源。
在弹出的添加数据源面板中,根据下表参数信息新增Hologres数据源,并单击确定。
参数 |
说明 |
类型 |
实时数仓 Hologres |
网络 |
内网 华东2 |
VPC ID |
在Hologres管控台-实例列表中单击目标实例名称,在实例详情页面的网络信息区域获取VPC ID。 |
VPC 实例 ID |
在Hologres管控台-实例列表中单击目标实例名称,在实例详情页面的网络信息区域获取VPC实例 ID。 |
名称 |
自定义命名。 |
域名 |
在Hologres管控台-实例列表中单击目标实例名称,在实例详情页面的网络信息区域获取域名。 |
用户名 |
进入AccessKey管理页面获取AccessKey ID。 |
密码 |
进入AccessKey管理页面获取AccessKey Secret。 |
端口 |
在Hologres管控台-实例列表中单击目标实例名称,在实例详情页面的网络信息区域,获取指定VPC的域名列对应的端口。例如:80。 |
数据库 |
选择上述已创建的Hologres数据库名称。 |
前往DataV控制台,单击未分组页面的创建PC端看板,选择使用Hologres实时分析GitHub事件数据模板创建看板。
在创建看板对话框输入看板名称后,单击创建看板。
在已创建的看板页面中,单击数字,并在右侧数据源页签中,选择已添加的Hologres数据源。共计需要选择15处。
所有数字涉及的数据源都选择完成后,单击看板右上角的预览,即可获取实时更新的数据大屏预览链接(正式发布需要升级DataV高级版本)。最终效果如下:
7. (可选)历史离线数据分析
实时数仓Hologres与大数据计算服务MaxCompute深度融合,可以组成一体化的大数据查询与分析架构。在MaxCompute公共数据集中,存储了历史GitHub全量数据。如果想要做更长时间的数据分析,有两种方式:
使用外部表查询,在不导入数据的情况下,使用Hologres直接查询MaxCompute数据。
使用内部表查询,将历史数据通过0 ETL的形式快速导入Hologres,获得更快的查询速度。
注意:Github每日数据量约为300MB,Hologres免费试用存储额度为20GB,如果导入过多存量历史数据,将会收产生额外费用,外部表查询不受影响。
外部表查询MaxCompute数据。
创建MaxCompute外部表。
DROP FOREIGN TABLE IF EXISTS dwd_github_events_odps; IMPORT FOREIGN SCHEMA "maxcompute_public_data#github_events" LIMIT to ( dwd_github_events_odps ) FROM SERVER odps_server INTO public OPTIONS(if_table_exist 'error',if_unsupported_type 'error');
通过外部表直接查询MaxCompute数据。例如查询昨日起最活跃项目:
SELECT repo_name, COUNT(*) AS events FROM dwd_github_events_odps WHERE ds >= (CURRENT_DATE - interval '1 day')::text GROUP BY repo_name ORDER BY events DESC LIMIT 5;
0 ETL导入MaxCompute数据。
创建Hologres内部表。
DROP TABLE IF EXISTS gh_event_data; BEGIN; CREATE TABLE gh_event_data ( id bigint, actor_id bigint, actor_login text, repo_id bigint, repo_name text, org_id bigint, org_login text, type text, created_at timestamp with time zone NOT NULL, action text, iss_or_pr_id bigint, number bigint, comment_id bigint, commit_id text, member_id bigint, rev_or_push_or_rel_id bigint, ref text, ref_type text, state text, author_association text, language text, merged boolean, merged_at timestamp with time zone, additions bigint, deletions bigint, changed_files bigint, push_size bigint, push_distinct_size bigint, hr text, month text, year text, ds text ); CALL set_table_property('public.gh_event_data', 'distribution_key', 'id'); CALL set_table_property('public.gh_event_data', 'event_time_column', 'created_at'); CALL set_table_property('public.gh_event_data', 'clustering_key', 'created_at'); COMMIT;
通过外部表导入数据至内部表。
INSERT INTO gh_event_data SELECT * FROM dwd_github_events_odps WHERE ds >= (CURRENT_DATE - interval '1 day')::text; -- 更新表的统计信息 ANALYZE gh_event_data;
通过内部表查询昨日起最活跃项目。
SELECT repo_name, COUNT(*) AS events FROM gh_event_data WHERE ds >= (CURRENT_DATE - interval '1 day')::text GROUP BY repo_name ORDER BY events DESC LIMIT 5;
8. 附录
实验中包含数据大屏涉及到的所有SQL如下,需要将下面的分别换成实际的表名。
今日开发者和项目总数。
SELECT uniq (actor_id) actor_num, uniq (repo_id) repo_num FROM <table_name> WHERE created_at > date_trunc('day', now());
过去24小时最活跃项目。
SELECT repo_name, COUNT(*) AS events FROM <table_name> WHERE created_at >= now() - interval '1 day' GROUP BY repo_name ORDER BY events DESC LIMIT 5;
过去24小时最活跃开发者。
SELECT actor_login, COUNT(*) AS events FROM <table_name> WHERE created_at >= now() - interval '1 day' and actor_login not like '%[bot]' GROUP BY actor_login ORDER BY events DESC LIMIT 5;
今日公开事件总数。
select count(*) from <table_name> where created_at >= date_trunc('day', now());
过去24小时星标项目排行。
SELECT repo_id, repo_name, COUNT(actor_login) total FROM <table_name> WHERE type = 'WatchEvent' AND created_at > now() - interval '1 day' GROUP BY repo_id, repo_name ORDER BY total DESC LIMIT 10; WITH agg_language AS ( SELECT CASE LANGUAGE WHEN 'TypeScript' THEN 'TypeScript' WHEN 'JavaScript' THEN 'JavaScript' WHEN 'Python' THEN 'Python' WHEN 'Go' THEN 'Go' WHEN 'Java' THEN 'Java' WHEN 'HTML' THEN 'HTML' WHEN 'C++' THEN 'C++' WHEN 'C#' THEN 'C#' WHEN 'PHP' THEN 'PHP' WHEN 'Ruby' THEN 'Ruby' ELSE 'Others' END AS LANGUAGE, count(*) total FROM <table_name> WHERE created_at > now() - interval '1 hour' AND LANGUAGE IS NOT NULL GROUP BY LANGUAGE ORDER BY total DESC ) SELECT LANGUAGE, sum(total) AS sum FROM agg_language GROUP BY LANGUAGE ORDER BY sum DESC;
实时事件展示。
SELECT cast(created_at as text), actor_login, type, repo_name FROM <table_name> ORDER BY created_at DESC LIMIT 5;
9. 完成
完成以上操作后,您已经成功完成了Hologres数据查询操作。查询命令执行成功后,在临时Query查询页面下弹出结果页签,显示如下查询数据结果。
查询实时更新的过去24小时GitHub最活跃项目结果示例:
通过外部表直接查询MaxCompute数据(查询昨日起最活跃项目)结果示例:
通过内部表查询昨日起最活跃项目。
10. 清理及后续
清理
在体验完成本教程后,如果后续您不再使用的话,请及时释放相关资源。
欢迎加入实时数仓Hologres交流群(钉钉群号:32314975)交流。
释放Hologres实例
登录Hologres管理控制台,在实例列表页面释放目标Hologres实例,详情请参见删除实例。
释放交换机
登录专有网络管理控制台,在交换机页面,找到目标交换机,然后在操作列单击删除,按照界面提示释放实例。
释放专有网络VPC
登录专有网络管理控制台,在专有网络页面,找到目标VPC,然后在操作列单击删除,按照界面提示释放实例。
删除DataWorks中删除同步任务和数据源
登录DataWorks管理控制台-同步任务页面,找到目标任务,在操作列单击更多 > 删除,按照界面提示删除同步任务。
登录DataWorks管理控制台-数据源页面,找到目标数据源,在操作列单击图标,按照界面提示删除数据源。
删除DataV数据源
登录DataV管理控制台,在数据源页面,找到目标数据源并删除。
实验链接:https://developer.aliyun.com/adc/scenario/b8433375a84a48c19865d7e313a6740e