当前位置: 首页 > news >正文

大数据Hologres(二):Hologres 快速入门

文章目录

Hologres 快速入门

一、资源领取

二、入门体验

1、创建数据库

2、创建表

3、导入示例数据

4、查询表中数据


Hologres 快速入门

一、资源领取

领取链接: 阿里云免费试用 - 阿里云 (aliyun.com)

二、入门体验

1、创建数据库

  • 进入Hologres管理控制台,单击左侧实例列表。
  • 在实例列表页面,单击实例名称

  • 在页面右上角点击登录实例,并新建数据库。

2、创建表

2.1、创建外部表

  • 选择SQL编辑器

  • 在新增的临时Query查询页面,选择已创建的实例名和数据库 

  • 选择已创建的实例名和数据库后,在SQL查询的编辑框输入如下语句,单击运行。
DROP FOREIGN TABLE IF EXISTS odps_customer_10g;
DROP FOREIGN TABLE IF EXISTS odps_lineitem_10g;
DROP FOREIGN TABLE IF EXISTS odps_nation_10g;
DROP FOREIGN TABLE IF EXISTS odps_orders_10g;
DROP FOREIGN TABLE IF EXISTS odps_part_10g;
DROP FOREIGN TABLE IF EXISTS odps_partsupp_10g;
DROP FOREIGN TABLE IF EXISTS odps_region_10g;
DROP FOREIGN TABLE IF EXISTS odps_supplier_10g;
IMPORT FOREIGN SCHEMA "MAXCOMPUTE_PUBLIC_DATA#default" LIMIT to 
(odps_customer_10g,odps_lineitem_10g,odps_nation_10g,odps_orders_10g,odps_part_10g,odps_partsupp_10g,odps_region_10g,odps_supplier_10g
) FROM SERVER odps_server INTO public OPTIONS(if_table_exist'error',if_unsupported_type'error');

 

2.2、创建内部表

以下SQL语句用来创建名称分别为LINEITEM、ORDERS、PARTSUPP、PART、CUSTOMER、SUPPLIER、NATION和REGION的表,用于后续存储数据。

DROP TABLE IF EXISTS LINEITEM;BEGIN;
CREATE TABLE LINEITEM (L_ORDERKEY bigint NOT NULL,L_PARTKEY int NOT NULL,L_SUPPKEY int NOT NULL,L_LINENUMBER int NOT NULL,L_QUANTITY DECIMAL(15, 2) NOT NULL,L_EXTENDEDPRICE DECIMAL(15, 2) NOT NULL,L_DISCOUNT DECIMAL(15, 2) NOT NULL,L_TAX DECIMAL(15, 2) NOT NULL,L_RETURNFLAG text NOT NULL,L_LINESTATUS text NOT NULL,L_SHIPDATE date NOT NULL,L_COMMITDATE date NOT NULL,L_RECEIPTDATE date NOT NULL,L_SHIPINSTRUCT text NOT NULL,L_SHIPMODE text NOT NULL,L_COMMENT text NOT NULL,PRIMARY KEY (L_ORDERKEY, L_LINENUMBER)
);
DROP TABLE IF EXISTS LINEITEM;BEGIN;
CREATE TABLE LINEITEM (L_ORDERKEY bigint NOT NULL,L_PARTKEY int NOT NULL,L_SUPPKEY int NOT NULL,L_LINENUMBER int NOT NULL,L_QUANTITY DECIMAL(15, 2) NOT NULL,L_EXTENDEDPRICE DECIMAL(15, 2) NOT NULL,L_DISCOUNT DECIMAL(15, 2) NOT NULL,L_TAX DECIMAL(15, 2) NOT NULL,L_RETURNFLAG text NOT NULL,L_LINESTATUS text NOT NULL,L_SHIPDATE date NOT NULL,L_COMMITDATE date NOT NULL,L_RECEIPTDATE date NOT NULL,L_SHIPINSTRUCT text NOT NULL,L_SHIPMODE text NOT NULL,L_COMMENT text NOT NULL,PRIMARY KEY (L_ORDERKEY, L_LINENUMBER)
);
CALL set_table_property ('LINEITEM', 'clustering_key', 'L_SHIPDATE,L_ORDERKEY');
CALL set_table_property ('LINEITEM', 'segment_key', 'L_SHIPDATE');
CALL set_table_property ('LINEITEM', 'distribution_key', 'L_ORDERKEY');
CALL set_table_property ('LINEITEM', 'bitmap_columns', 'L_RETURNFLAG,L_LINESTATUS,L_SHIPINSTRUCT,L_SHIPMODE');
CALL set_table_property ('LINEITEM', 'dictionary_encoding_columns', 'l_comment:off,l_returnflag,l_linestatus,l_shipinstruct,l_shipmode');
COMMIT;DROP TABLE IF EXISTS ORDERS;BEGIN;
CREATE TABLE ORDERS (O_ORDERKEY bigint NOT NULL PRIMARY KEY,O_CUSTKEY int NOT NULL,O_ORDERSTATUS text NOT NULL,O_TOTALPRICE DECIMAL(15, 2) NOT NULL,O_ORDERDATE date NOT NULL,O_ORDERPRIORITY text NOT NULL,O_CLERK text NOT NULL,O_SHIPPRIORITY int NOT NULL,O_COMMENT text NOT NULL
);
CALL set_table_property ('ORDERS', 'segment_key', 'O_ORDERDATE');
CALL set_table_property ('ORDERS', 'colocate_with', 'lineitem');
CALL set_table_property ('ORDERS', 'distribution_key', 'O_ORDERKEY');
CALL set_table_property ('ORDERS', 'bitmap_columns', 'O_ORDERSTATUS,O_ORDERPRIORITY,O_CLERK,O_SHIPPRIORITY');
CALL set_table_property ('ORDERS', 'dictionary_encoding_columns', 'o_comment:off,o_orderstatus,o_orderpriority,o_clerk');
COMMIT;
DROP TABLE IF EXISTS CUSTOMER;BEGIN;
CREATE TABLE CUSTOMER (C_CUSTKEY int NOT NULL PRIMARY KEY,C_NAME text NOT NULL,C_ADDRESS text NOT NULL,C_NATIONKEY int NOT NULL,C_PHONE text NOT NULL,C_ACCTBAL DECIMAL(15, 2) NOT NULL,C_MKTSEGMENT text NOT NULL,C_COMMENT text NOT NULL
);
CALL set_table_property ('CUSTOMER', 'distribution_key', 'C_CUSTKEY');
CALL set_table_property ('CUSTOMER', 'colocate_with', 'lineitem');
CALL set_table_property ('CUSTOMER', 'bitmap_columns', 'C_NATIONKEY,C_MKTSEGMENT');
CALL set_table_property ('CUSTOMER', 'dictionary_encoding_columns', 'c_name:off,c_address:off,c_phone:off,c_comment:off,c_mktsegment');
COMMIT;
DROP TABLE IF EXISTS SUPPLIER;BEGIN;
CREATE TABLE SUPPLIER (S_SUPPKEY int NOT NULL PRIMARY KEY,S_NAME text NOT NULL,S_ADDRESS text NOT NULL,S_NATIONKEY int NOT NULL,S_PHONE text NOT NULL,S_ACCTBAL DECIMAL(15, 2) NOT NULL,S_COMMENT text NOT NULL
);
CALL set_table_property ('SUPPLIER', 'distribution_key', 'S_SUPPKEY');
CALL set_table_property ('SUPPLIER', 'colocate_with', 'lineitem');
CALL set_table_property ('SUPPLIER', 'bitmap_columns', 'S_NATIONKEY');
CALL set_table_property ('SUPPLIER', 'dictionary_encoding_columns', '');
COMMIT;DROP TABLE IF EXISTS NATION;BEGIN;
CREATE TABLE NATION (N_NATIONKEY int NOT NULL PRIMARY KEY,N_NAME text NOT NULL,N_REGIONKEY int NOT NULL,N_COMMENT text NOT NULL
);
CALL set_table_property ('NATION', 'distribution_key', 'N_NATIONKEY');
CALL set_table_property ('NATION', 'colocate_with', 'lineitem');
CALL set_table_property ('NATION', 'bitmap_columns', '');
CALL set_table_property ('NATION', 'dictionary_encoding_columns', '');
COMMIT;DROP TABLE IF EXISTS REGION;BEGIN;
CREATE TABLE REGION (R_REGIONKEY int NOT NULL PRIMARY KEY,R_NAME text NOT NULL,R_COMMENT text
);
CALL set_table_property ('REGION', 'distribution_key', 'R_REGIONKEY');
CALL set_table_property ('REGION', 'colocate_with', 'lineitem');
CALL set_table_property ('REGION', 'bitmap_columns', '');
CALL set_table_property ('REGION', 'dictionary_encoding_columns', '');
COMMIT;

注意事项:

外部表在Hologres中不存储数据,只进行字段映射。通过外部表可以使用Hologres直接调用存储于MaxCompute公共空间MAXCOMPUTE_PUBLIC_DATA的数据。 

3、导入示例数据

  • SQL查询的编辑框输入如下语句,单击运行。
INSERT INTO public.customer SELECT * FROM public.odps_customer_10g ;
INSERT INTO public.lineitem SELECT * FROM public.odps_lineitem_10g ;
INSERT INTO public.nation SELECT * FROM public.odps_nation_10g ;
INSERT INTO public.orders SELECT * FROM public.odps_orders_10g ;
INSERT INTO public.part SELECT * FROM public.odps_part_10g ;
INSERT INTO public.partsupp SELECT * FROM public.odps_partsupp_10g ;
INSERT INTO public.region SELECT * FROM public.odps_region_10g ;
INSERT INTO public.supplier SELECT * FROM public.odps_supplier_10g ;vacuum nation;
vacuum region;vacuum supplier;
vacuum supplier;
vacuum customer;
vacuum part;
vacuum partsupp;
vacuum orders;
vacuum lineitem;analyze nation;
analyze region;
analyze lineitem;
analyze orders;
analyze customer;
analyze part;
analyze partsupp;
analyze supplier;
analyze lineitem (l_orderkey,l_partkey,l_suppkey);
analyze orders (o_custkey);
analyze partsupp(ps_partkey,ps_suppkey);
  • 在Hologres中,vacuum是一个数据库操作命令,用于回收并释放数据库中不再需要的存储空间。
  • 具体而言,vacuum 命令的作用通常包括:

  • Analyze 也是一个数据库操作命令,用于收集统计信息,以帮助数据库系统优化查询计划。通过分析表的数据分布和结构,数据库系统可以更好地选择执行计划,提高查询性能。
  • 它通常执行以下操作: 

4、查询表中数据

selectl_returnflag,l_linestatus,sum(l_quantity) as sum_qty,sum(l_extendedprice) as sum_base_price,sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,avg(l_quantity) as avg_qty,avg(l_extendedprice) as avg_price,avg(l_discount) as avg_disc,count(*) as count_order
From lineitem
Where l_shipdate <= date '1998-12-01' - interval '120' day
group by l_returnflag, l_linestatus
order byl_returnflag,l_linestatus;


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

相关文章:

大数据Hologres(二):Hologres 快速入门

文章目录 Hologres 快速入门 一、资源领取 二、入门体验 1、创建数据库 2、创建表 3、导入示例数据 4、查询表中数据 Hologres 快速入门 一、资源领取 领取链接&#xff1a; 阿里云免费试用 - 阿里云 (aliyun.com) 二、入门体验 1、创建数据库 进入Hologres管理控制…...

华为仓颉语言入门(7):深入理解 do-while 循环及其应用

解锁Python编程的无限可能&#xff1a;《奇妙的Python》带你漫游代码世界 用法说明 do-while 表达式是一种控制循环的结构&#xff0c;它允许代码在每次循环之后进行条件判断。在这个表达式中&#xff0c;无论条件一开始是否满足&#xff0c;代码块都会被至少执行一次。 语法…...

在传销案件中数据库取证的分步指南

金字塔计划的特点是分层结构&#xff0c;主要由招募新成员的机制驱动。取证部门调查这些方案时&#xff0c;往往依靠数据库记录来分析这种结构。这些记录详细描述了上级和下级之间的关系&#xff0c;使调查人员能够描绘出组织的动态。在本文中&#xff0c;我们将探讨如何利用数…...

数据结构与算法——Java实现 21.栈

目录 一、概述 二、基于链表的栈的实现 接口 链表接口实现类 测试类 ​编辑 三、基于数组的栈的实现 接口 数组接口实现类 测试类 妈妈&#xff0c;生日快乐&#xff0c;希望你健康快乐没有烦恼也不会有病痛 —— 24.9.28 一、概述 计算机科学中&#xff0c;stack是一种线性的…...

实验一 网络基础及仿真模拟软件Packet Tracer 入门

实验一 网络基础及仿真模拟软件Packet Tracer 入门 【实验目的】 一、认识 Packet Tracer 。 二、学习使用 Packet Tracer 进行拓扑的搭建。 三、学习使用 Packet Tracer 对设备进行配置&#xff0c;并进行简单的测试。 【实验内容和结果】 一、拖放设备和布置线缆 二、用…...

建立分支提交代码

git分支 git branch 产看当前分支 git branch -a 查看所有分支 git checkout 分支名 切换分支 git checkout -b 分支名 建立分支&#xff08;仅仅是在本地建立了&#xff0c;并没有关联线上&#xff09; git push --set-upstream origin 分支名 把本地分支推到先线上 gti add …...

认识 Linux操作系统

前言 电脑由硬件和软件相构成&#xff0c;在软件中操作系统只是其中的一个分支&#xff0c;今天我们学习的Linux有是操作系统中的一种&#xff0c;不同的操作系统有自己的特点和生存生态。市面上大多数电脑自带的操作系统都是我们熟知的Windows。Linux将会为大家带来开源的新天…...

AI时代程序员的核心竞争力提升与保持之道

一、引言 ----  随着人工智能&#xff08;AI&#xff09;和生成式人工智能&#xff08;AIGC&#xff09;技术的迅速发展&#xff0c;包括chatgpt、midjourney、claude等大语言模型接连不断地涌现&#xff0c;AI辅助编程工具在程序员社区中的普及正在悄然改变我们的工作方式。…...

状态模式原理剖析

《状态模式原理剖析》 状态模式&#xff08;State Pattern&#xff09; 是一种行为设计模式&#xff0c;它允许对象在其内部状态改变时改变其行为。换句话说&#xff0c;当对象状态发生变化时&#xff0c;它的行为也会随之变化。 通过状态模式&#xff0c;可以消除通过 if-else…...

若伊(前后端分离)学习笔记

基础应用篇 1. 若伊搭建 若伊版本 若依官方针对不同开发需求提供了多个版本的框架&#xff0c;每个版本都有其独特的特点和适用场景&#xff1a; 前后端混合版本 &#xff1a;RuoYi结合了SpringBoot和Bootstrap的前端开发框架&#xff0c;适合快速构建传统的Web应用程序&…...

Elasticsearch学习笔记(2)

索引库操作 在Elasticsearch中&#xff0c;Mapping是定义文档字段及其属性的重要机制。 Mapping映射属性 type&#xff1a;字段数据类型 1、字符串&#xff1a; text&#xff1a;可分词的文本&#xff0c;适用于需要全文检索的情况。keyword&#xff1a;用于存储精确值&am…...

Vue devtools 插件

一、安装 去这下载https://chrome.zzzmh.cn/ 打开chrome的扩展程序 再打开开发模式 把刚才下载的拖到这里 然后把它固定到工具栏 就是这样了。 二、使用 程序通过open on live server后&#xff0c;打开开发者工具&#xff0c;找到vue就可以了。 这是代码 <div id"ap…...

Ubuntu 16.04安装填坑记录

一. 问题描述&#xff1a; &#xff08;1&#xff09;Ubuntu 16.04使用USB启动盘安装时&#xff0c;出现"try ubuntu without installation"或“install ubuntu”选择&#xff0c;Enter选择安装后&#xff0c;显示器黑屏无任何显示。 原因分析&#xff1a; 显示黑…...

python的pyinstaller

1、pyinstaller --onefile -w *.py 可以生成可执行文件 -w就是不需要有console窗体出现、 2、 console窗体会出现一些警告。 比如 Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-scre…...

Vue3(五) 组件通信大汇总

文章目录 一、props二、自定义事件三、mitt四、v-model1.v-model的本质2.v-model用在组件标签上3.更换modelValue4.更换modelValue时&#xff0c;可以在组件标签上多次使用v-model 五、$attrs六、$refs,与&#xffe5;parent1. 回顾标签ref属性修改组件信息2. $refs实现父修改所…...

红队信息搜集扫描使用

红队信息搜集扫描使用 红队行动中需要工具化一些常用攻击&#xff0c;所以学习一下 nmap 等的常规使用&#xff0c;提供灵感 nmap 帮助 nmap --help主机扫描 Scan and no port scan&#xff08;扫描但不端口扫描&#xff09;。-sn 在老版本中是 -sP&#xff0c;P的含义是 P…...

Python自学查漏9.28

自学查漏9.28 一、环境安装&代码执行原理&变量命名 安装 Python 代码执行原理 解析&#xff08;Parsing&#xff09;: 当你运行一个 Python 脚本时&#xff0c;Python 解释器首先会解析整个代码&#xff0c;将其转换成一种叫做“字节码”&#xff08;bytecode&…...

Java文件I/O处理之RandomAccessFile【随意存取文件】

Java语言有一个处理文件输入输出的RandomAccessFile类&#xff0c;既可以读取文件内容&#xff0c;也可以向文件输出数据。 RandomAccessFile类在国内的技术文档和书籍中都翻译为“随机访问文件”类&#xff0c;确实令人不解。 在中文中“随机”的意思&#xff1a; 不设任何条…...

Android页面跳转与返回机制详解

在Android开发中&#xff0c;页面跳转是实现应用功能交互的重要手段之一。本文将从Activity之间的跳转、Activity与Fragment之间的跳转、Fragment之间的跳转以及页面返回的问题四个方面进行详细解析。 一、Activity之间的跳转 Activity是Android应用的基本构建块&#xff0c;…...

Elasticsearch学习笔记(1)

初识 Elasticsearch 认识和安装 Elasticsearch 是由 Elastic 公司开发的一套强大的搜索引擎技术&#xff0c;属于 Elastic 技术栈的一部分。完整的技术栈包括&#xff1a; Elasticsearch&#xff1a;用于数据存储、计算和搜索。Logstash/Beats&#xff1a;用于数据收集。Kib…...

【已验证】STM32驱动OLED(SSD1306)显示字符

本文介绍如何使用STM32F103C8T6&#xff08;蓝板&#xff09;通过软件模拟IIC协议驱动0.96英寸OLED&#xff08;驱动芯片SSD1306&#xff09;&#xff0c;这个小屏幕相信每一个朋友在大学生活里都不会错过&#xff0c;也是很多课设毕设显示需求的首选&#xff0c;我一向喜欢直接…...

Phi-4-mini-reasoning实战案例:用supervisorctl重启服务解决502错误

Phi-4-mini-reasoning实战案例&#xff1a;用supervisorctl重启服务解决502错误 1. 问题场景描述 最近在部署Phi-4-mini-reasoning推理服务时&#xff0c;遇到了一个典型问题&#xff1a;Web界面突然返回502错误&#xff0c;导致用户无法正常使用推理功能。作为一款专注于数学…...

实战复盘——从日志到后门:一次完整的Linux挖矿病毒kswapd0应急响应

1. 异常告警&#xff1a;CPU占用300%的紧急响应 那天下午3点27分&#xff0c;监控系统突然弹出一条红色告警&#xff1a;某台核心服务器的CPU使用率飙升至300%。作为安全工程师&#xff0c;我立刻放下手中的咖啡&#xff0c;开始排查这个异常情况。这种CPU异常飙升通常只有两种…...

SAR成像系列:【10】合成孔径雷达(SAR)波数域(omega-K)算法实战:从理论到Matlab实现

1. 波数域算法&#xff1a;为什么它是SAR成像的"瑞士军刀"&#xff1f; 第一次接触omega-K算法时&#xff0c;我被它优雅的数学表达和精确的成像效果震撼到了。这种算法在业内有个更直白的名字——距离徙动算法&#xff08;Range Migration Algorithm&#xff09;&am…...

2026年的具身智能:不再“讲故事”,而是拼“分数”?

作者&#xff1a;刘致呈编辑&#xff1a;Evin审核&#xff1a;徐徐出品&#xff1a;互联网江湖最近&#xff0c;具身智能行业发生了两件大事:一是行业标杆——宇树科技要IPO了。二是中国信息通信研究院联合40余家单位共同起草的具身智能领域首个行业标准&#xff0c;正式发布了…...

别再死记硬背了!用Python+OpenCV动手复现计算机视觉核心算法(边缘检测/图像分割实战)

用PythonOpenCV实战复现计算机视觉核心算法&#xff1a;从理论到代码的跨越 计算机视觉作为人工智能领域最炙手可热的方向之一&#xff0c;其核心算法构成了这门学科的骨架。但很多学习者在掌握理论知识后&#xff0c;面对实际项目仍感到无从下手——公式记住了&#xff0c;原理…...

构建语音搜索引擎:FireRedASR Pro与Elasticsearch整合实践

构建语音搜索引擎&#xff1a;FireRedASR Pro与Elasticsearch整合实践 你有没有想过&#xff0c;对着手机说句话&#xff0c;就能从海量文档里精准找到你想要的信息&#xff1f;比如&#xff0c;在公司的知识库里&#xff0c;直接问“上季度华东区的销售数据报告在哪&#xff…...

SDXL-Turbo实战教程:从A futuristic car到motorcycle的删改逻辑教学

SDXL-Turbo实战教程&#xff1a;从A futuristic car到motorcycle的删改逻辑教学 获取更多AI镜像 想探索更多AI镜像和应用场景&#xff1f;访问 CSDN星图镜像广场&#xff0c;提供丰富的预置镜像&#xff0c;覆盖大模型推理、图像生成、视频生成、模型微调等多个领域&#xff0c…...

Gon部署与运维:生产环境配置、监控和故障排除完整手册

Gon部署与运维&#xff1a;生产环境配置、监控和故障排除完整手册 【免费下载链接】gon Your Rails variables in your JS 项目地址: https://gitcode.com/gh_mirrors/go/gon Gon是一款专为Rails应用设计的实用工具&#xff0c;能够轻松实现Rails变量在JavaScript中的共…...

Muzei故障排除大全:20个常见问题及其解决方案的完整列表

Muzei故障排除大全&#xff1a;20个常见问题及其解决方案的完整列表 【免费下载链接】muzei Muzei Live Wallpaper for Android 项目地址: https://gitcode.com/gh_mirrors/mu/muzei Muzei是一款优秀的Android动态壁纸应用&#xff0c;它能为您的手机主屏幕带来每日更新…...