【星环云课堂大数据实验】InceptorSQL使用方法

一、InceptorSQL概述

InceptorSQL是一个**分布式SQL引擎,**经常在一下这些场景中使用:1. 批处理; 2.统计分析;3. 图计算和图检索;4.交互式统计分析

Inceptor中表的种类有很多,他们的划分规则如下:

  1. 按 Inceptor的所有权 分类可分为:外部表(或简称为外表)和托管表(内表)
  2. 按 表的存储格式 分类可分为:TEXT表、ORC表、CSV表和Holodesk表。
  3. 按表 是否分区 可分为:分区表和非分区表
  4. 按表 是否分桶 可分为:分桶表和非分桶表。
  • 托管表(内表)
    CREATE TABLE 默认创建托管表。Inceptor对托管表有所有权——用 DROP 删除托管表时,Inceptor会将表中数据全部删除。
  • 外表
    外表用 CREATE EXTERNAL TABLE 创建,外表中的数据可以保存在HDFS的一个指定路径上(和LOCATION <hdfs_path> 合用)。Inceptor对外表没有所有权。用DROP 删除外部表时,Inceptor删除表在metastore中的元数据而不删除表中数据,也就是说 DROP 仅仅解除Inceptor对外表操作的权利。
  • Text表
    文本格式的表,统计和查询性能都比较低,也不支持事务处理,所以通常用于将文本文件中的原始数据导入Inceptor中。针对不同的使用场景,用户可以将其中的数据放入ORC表或Holodesk表中。Inceptor提供两种方式将文本文件中的数据导入TEXT表中:
    (1)建外部TEXT表,让该表指向HDFS上的一个目录,Inceptor会将目录下文件中的数据都导入该表。(推荐)
    (2)建TEXT表(外表内表皆可)后将本地或者HDFS上的一个文件或者一个目录下的数据 LOAD 进该表。这种方式在安全模式下需要多重认证设置,极易出错,星环科技 不推荐 使用这个方式导数据。
  • CSV表
    CSV表的数据来源为CSV格式(Comma-Separated Values)的文件。文件以纯文本形式存储表格数据(数字和文本),CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。和TEXT表相似,CSV表常用于向Inceptor中导入原始数据,然后针对不同场景,用户可以将其中的数据放入ORC表或Holodesk表中星环科技 不建议在任何计算场景中使用CSV表
  • ORC表
    ORC表即ORC格式的表。在Inceptor中,ORC表还分为ORC事务表和非事务表。a. ORC事务表支持事务处理和更多增删改语法(INSERT VALUES/UPDATE/DELETE/MERGE),所以如果您需要对表进行事务处理,应该选择使用ORC事务表。b. ORC非事务表则主要用来做统计分析。
  • Holodesk表
    Holodesk表存储在内存或者SSD中(可以根据您的需要设置),同时,星环科技为其提供了一系列优化工具,使得在Holodesk表上进行大批量复杂查询能达到极高的性能。所以,如果您的数据量特别大,查询非常复杂,您应该选择使用Holodesk表。

二、实验环境

基于星环云课堂TranswarpVD

三、实验准备

  1. 进入TDH-Client目录下
    cd /transwarp/Desktop/TDH-Client
  2. 执行TDH Client的init.sh脚本,此操作只对当前Session有效
    source ./init.sh

四、实验目的

• 掌握Inceptor SQL的基本使用。

• 了解Inceptor各类表的区别与应用场景。

五、实验步骤

5.1 使用Waterdrop连接Inceptor

  1. 打开Transwarp Manager查看集群中Inceptor主节点的Server Host
    查看结果为tdh-05(后面会用)

    在这里插入图片描述


    在这里插入图片描述

  2. 在桌面点击waterdrop,并建立与Inceptor的连接

在这里插入图片描述


3. 在弹出界面中填写如下信息,其中Server Host为Inceptor主节点地址,之前步骤中已经获取到,Port为10000,Auth Type选择为LDAP。

在这里插入图片描述


4. 进行连接测试

在这里插入图片描述


5. 点击Next完成连接操作。

在这里插入图片描述


6. 建立与Inceptor的连接,并打开SQL编辑器,之后的SQL操作都在编辑器中完成,编写好SQL后,选中SQL内容,按快捷键Ctrl+回车执行。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

5.2、WordCount

(1)创建wordcount.txt文件,并上传HDFS
• 任务:将本地文件wordcount.txt上传至HDFS目录中。
• 步骤
Linux:

1.echo -e “Deer Bear River\nCar Car River\nDeer Car Bear” > /transwarp/Desktop/wordcount.txt
// 在本地创建wordcount.txt文件,并完成数据写入

在这里插入图片描述

2.hadoop fs -mkdir -p /training/{student_name}/inceptor_data/wordcount
// 在HDFS中创建作业输入目录

在这里插入图片描述

3.hadoop fs -put /transwarp/Desktop/wordcount.txt /training/{student_name}/inceptor_data/wordcount/
// 将wordcount.txt上传到作业输入目录

在这里插入图片描述


4. hadoop fs -chmod -R 777 /training/{student_name}/inceptor_data/wordcount/

在这里插入图片描述


(2)在Waterdrop中创建内表,并导入HDFS数据
• 任务:创建内表docs,并将HDFS中的数据导入。
• 步骤
SQL:

1、 create database {database_name};
// 创建数据库,命名规范为db_账号名,

2、use {database_name};
// 进入数据库

在这里插入图片描述

3、create table docs(line string);
// docs表创建

4.load data inpath ‘/training/{student_name}/inceptor_data/wordcount’ into table docs;
// 导入hdfs数据

在这里插入图片描述


(3)创建结果表
• 任务:创建内表wc,保存词频统计结果。
• 步骤
SQL:
1、 create table wc(word string,totalword int);
// docs表创建
(4)计算wordcount
• 任务:对docs表完成词频统计,将结果保存到wc表中。
• 步骤
SQL:

1、from (select explode(split(line,’ ')) as word from docs) w
insert into table wc
select word,count(1) as totalword
group by word
order by word;
// wordcount统计

在这里插入图片描述

2、select * from wc;
// 查看分析结果

在这里插入图片描述

5.3、外部表与内部表

(1)创建外部表,查看数据格式
• 任务:为data.csv文件创建外部表,并查看数据内容。
• 步骤
SQL:
// 在Inceptor中创建外表,并查看数据
drop table if exists ext_table;
create external table ext_table(rowkey string,num int,country int,rd string) row format delimited fields terminated by ‘,’ location ‘/images/inceptor_data’;
select * from ext_table limit 10;

在这里插入图片描述


(2)创建内表,并接入外表数据
• 任务:创建ORC内表,并将外表数据导入。
• 步骤
SQL:
// 在Inceptor中创建内表
drop table if exists inner_table;
create table inner_table(rowkey string,rd int) stored as orc;
// 将外表数据导入到内表中. insert into inner_table select * from ext_table;
// 查看内表数据
select * from inner_table limit 10;

在这里插入图片描述

5.4、普通ORC表

• 任务:并创建普通ORC表,并验证ORC表的事务性。
• 步骤
SQL:
// 创建数据库和ORC表
drop table if exists orc_table;
create table orc_table(key int,value string) stored as orc;
// 向ORC表中插入数据,会报错(ORC表没有事务)
insert into orc_table values(1,‘test’);

在这里插入图片描述

5.5、创建ORC事务表

• 任务:创建ORC事务表,并进行事务操作。
• 步骤
SQL:
// 设置开启事务
set transaction.type=inceptor;
// 设置PLSQL编译器不检查语义
set plsql.compile.dml.check.semantic=false;
// 创建ORC事务表
drop table if exists atomicity_table;
create table atomicity_table(key int,value string) clustered by(key) into 8 buckets stored as orc tblproperties(‘transactional’=‘true’);
向ORC事务表中插入数据
insert into atomicity_table values(1,‘src1’);
insert into atomicity_table values(2,‘src2’);
// 查看数据是否写入成功
select * from atomicity_table;
// 更新ORC事务表数据
update atomicity_table set value = ‘src3’ where key = 1;
// 查看数据是否更新成功
select * from atomicity_table;

在这里插入图片描述

5.6、创建ORC分区表

• 任务:创建单值分区表user_acc_level,表包含字段为name,分区字段为acc_level。
• 步骤
SQL:
// 创建单值分区表,分区键=acc_level
CREATE TABLE user_acc_level (name STRING)
PARTITIONED BY (acc_level STRING);

在这里插入图片描述

5.7、创建ORC分区分桶表

• 任务:创建范围分区分桶表,并存储为ORC格式。
• 步骤
SQL:
// 创建范围分区分桶表,分区键=sj,分桶键=mbbh
create table hq_ais_history_data_orc_bucket (
cbm string,
csx int,
cwjqd int,
dzdwzz int,
gjmc string,
hh string,
hs double,
hwlx int,
hx double,
hxzt int,
imobm string,
mbbh string,
mdd string,
txzt int,
xxlx int,
xxly int,
yjddsj string,
zdjss double,
zxl int,
lat double,
lon double,
mbsj int
)
partitioned by range (sj string) (
partition values less than (“2014-11-04 23:59:59”),
partition values less than (“2014-11-05 23:59:59”),
partition values less than (“2014-11-06 23:59:59”),
partition values less than (“2014-11-07 23:59:59”),
partition values less than (“2014-11-08 23:59:59”),
partition values less than (“2014-11-09 23:59:59”),
partition values less than (“2014-11-10 23:59:59”),
partition values less than (“2014-11-11 23:59:59”),
partition values less than (“2015-08-05 23:59:59”)
)
clustered by (mbbh) into 23 buckets
stored as orc;

在这里插入图片描述

原文地址:https://blog.csdn.net/qq_45858191/article/details/135034825

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读5.3k次,点赞10次,收藏39次。本章详细写了mysql的安装,环境的搭建以及安装时常见的问题和解决办法。_mysql安装及配置超详细教程
文章浏览阅读1.8k次,点赞50次,收藏31次。本篇文章讲解Spark编程基础这门课程的期末大作业,主要围绕Hadoop基本操作、RDD编程、SparkSQL和SparkStreaming编程展开。_直接将第4题的计算结果保存到/user/root/lisi目录中lisipi文件里。
文章浏览阅读7.8k次,点赞9次,收藏34次。ES查询常用语法目录1. ElasticSearch之查询返回结果各字段含义2. match 查询3. term查询4. terms 查询5. range 范围6. 布尔查询6.1 filter加快查询效率的原因7. boosting query(提高查询)8. dis_max(最佳匹配查询)9. 分页10. 聚合查询【内含实际的demo】_es查询语法
文章浏览阅读928次,点赞27次,收藏18次。
文章浏览阅读1.1k次,点赞24次,收藏24次。作用描述分布式协调和一致性协调多个节点的活动,确保一致性和顺序。实现一致性、领导选举、集群管理等功能,确保系统的稳定和可靠性。高可用性和容错性Zookeeper是高可用的分布式系统,通过多个节点提供服务,容忍节点故障并自动进行主从切换。作为其他分布式系统的高可用组件,提供稳定的分布式协调和管理服务,保证系统的连续可用性。配置管理和动态更新作为配置中心,集中管理和分发配置信息。通过订阅机制,实现对配置的动态更新,以适应系统的变化和需求的变化。分布式锁和并发控制。
文章浏览阅读1.5k次,点赞26次,收藏29次。为贯彻执行集团数字化转型的需要,该知识库将公示集团组织内各产研团队不同角色成员的职务“职级”岗位的评定标准;
文章浏览阅读1.2k次,点赞26次,收藏28次。在安装Hadoop之前,需要进行以下准备工作:确认操作系统:Hadoop可以运行在多种操作系统上,包括Linux、Windows和Mac OS等。选择适合你的操作系统,并确保操作系统版本符合Hadoop的要求。安装Java环境:Hadoop是基于Java开发的,因此需要先安装和配置Java环境。确保已经安装了符合Hadoop版本要求的Java Development Kit (JDK),并设置好JAVA_HOME环境变量。确认硬件要求:Hadoop是一个分布式系统,因此需要多台计算机组成集群。
文章浏览阅读974次,点赞19次,收藏24次。# 基于大数据的K-means广告效果分析毕业设计 基于大数据的K-means广告效果分析。
文章浏览阅读1.7k次,点赞6次,收藏10次。Hadoop入门理论
文章浏览阅读1.3w次,点赞28次,收藏232次。通过博客和文献调研整理的一些农业病虫害数据集与算法。_病虫害数据集
文章浏览阅读699次,点赞22次,收藏7次。ZooKeeper使用的是Zab(ZooKeeper Atomic Broadcast)协议,其选举过程基于一种名为Fast Leader Election(FLE)的算法进行。:每个参与选举的ZooKeeper服务器称为一个“Follower”或“Candidate”,它们都有一个唯一的标识ID(通常是一个整数),并且都知道集群中其他服务器的ID。总之,ZooKeeper的选举机制确保了在任何时刻集群中只有一个Leader存在,并通过过半原则保证了即使部分服务器宕机也能维持高可用性和一致性。
文章浏览阅读10w+次,点赞62次,收藏73次。informatica 9.x是一款好用且功能强大的数据集成平台,主要进行各类数据库的管理操作,是使用相当广泛的一款ETL工具(注: ETL就是用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)到目的端的过程)。本文主要为大家图文详细介绍Windows10下informatica powercenter 9.6.1安装与配置步骤。文章到这里就结束了,本人是在虚拟机中装了一套win10然后在此基础上测试安装的这些软件,因为工作学习要分开嘛哈哈哈。!!!!!_informatica客户端安装教程
文章浏览阅读7.8w次,点赞245次,收藏2.9k次。111个Python数据分析实战项目,代码已跑通,数据可下载_python数据分析项目案例
文章浏览阅读1.9k次,点赞61次,收藏64次。TDH企业级一站式大数据基础平台致力于帮助企业更全面、更便捷、更智能、更安全的加速数字化转型。通过数年时间的打磨创新,已帮助数千家行业客户利用大数据平台构建核心商业系统,加速商业创新。为了让大数据技术得到更广泛的使用与应用从而创造更高的价值,依托于TDH强大的技术底座,星环科技推出TDH社区版(Transwarp Data Hub Community Edition)版本,致力于为企业用户、高校师生、科研机构以及其他专业开发人员提供更轻量、更简单、更易用的数据分析开发环境,轻松应对各类人员数据分析需求。_星环tdh没有hive
文章浏览阅读836次,点赞21次,收藏19次。
文章浏览阅读1k次,点赞21次,收藏15次。主要介绍ETL相关工作的一些概念和需求点
文章浏览阅读1.4k次。本文以Android、java为开发技术,实现了一个基于Android的博物馆线上导览系统 app。基于Android的博物馆线上导览系统 app的主要使用者分为管理员和用户,app端:首页、菜谱信息、甜品信息、交流论坛、我的,管理员:首页、个人中心、用户管理、菜谱信息管理、菜谱分类管理、甜品信息管理、甜品分类管理、宣传广告管理、交流论坛、系统管理等功能。通过这些功能模块的设计,基本上实现了整个博物馆线上导览的过程。
文章浏览阅读897次,点赞19次,收藏26次。1.背景介绍在当今的数字时代,数据已经成为企业和组织中最宝贵的资源之一。随着互联网、移动互联网和物联网等技术的发展,数据的产生和收集速度也急剧增加。这些数据包括结构化数据(如数据库、 spreadsheet 等)和非结构化数据(如文本、图像、音频、视频等)。这些数据为企业和组织提供了更多的信息和见解,从而帮助他们做出更明智的决策。业务智能(Business Intelligence,BI)...
文章浏览阅读932次,点赞22次,收藏16次。也就是说,一个类应该对自己需要耦合或调用的类知道的最少,类与类之间的关系越密切,耦合度越大,那么类的变化对其耦合的类的影响也会越大,这也是我们面向对象设计的核心原则:低耦合,高内聚。优秀的架构和产品都是一步一步迭代出来的,用户量的不断增大,业务的扩展进行不断地迭代升级,最终演化成优秀的架构。其根本思想是强调了类的松耦合,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会波及有关系的类。缓存,从操作系统到浏览器,从数据库到消息队列,从应用软件到操作系统,从操作系统到CPU,无处不在。
文章浏览阅读937次,点赞22次,收藏23次。大数据可视化是关于数据视觉表现形式的科学技术研究[9],将数据转换为图形或图像在屏幕上显示出来,并进行各种交互处理的理论、方法和技术。将数据直观地展现出来,以帮助人们理解数据,同时找出包含在海量数据中的规律或者信息,更多的为态势监控和综合决策服务。数据可视化是大数据生态链的最后一公里,也是用户最直接感知数据的环节。数据可视化系统并不是为了展示用户的已知的数据之间的规律,而是为了帮助用户通过认知数据,有新的发现,发现这些数据所反映的实质。大数据可视化的实施是一系列数据的转换过程。