DAY 6 Big Data 5Vs – Volume(容量) – Redshift Spectrum

大量的资料势必可能来自不同资料源,在结构化资料库的世界常用的就是联合查询。那如果我的资料不全都在结构化资料库呢?介绍到现在许多人一定会想到强大的储存系统S3,如果原本有许多资料都先存到了S3,现在想要将目前提到的Redshift与S3这两个厉害的储存系统结合,不就能集成他们的优点产生更大的综效吗?
没错,AWS也顾虑到这个需求,所以在Redshift服务中内建了Redshift Spectrum。

联合查询是撷取不同的「结构化」资料来源;Redshift Spectrum让使用者直接撷取和查询外部资料源的结构与半结构化资料。在不用移动资料进资料仓储的情况下,可以直接在 Redshift Spectrum 中使用与Redshift一样的查询语法和存取表格的查询功能,概念上大概像是建立一个外部资料表。但也有一些使用上需要特别注意的地方*,例如需使用Athena或Glue做为中继资料存放区的资料目录、Amazon Redshift cluster和 Amazon S3 bucket必须在相同的AWS区域等。

使用时Redshift Spectrum第一要确认当前登入帐号拥有对应IAM权限;
且外部资料表EXTERNAL TABLE必须建立在使用 CREATE EXTERNAL SCHEMA statement所建立的外部资料库中。可以在编辑器或用户端下指令建立。
https://ithelp.ithome.com.tw/upload/images/20210918/20140161HnYWLwC5lA.jpg

建立外部资料库SQL语法:

create external schema 外部资料库名称  from data catalog 
database '现在要建立的资料库名称' 
iam_role '对应IAM role 的 arn number'
create external database if not exists;

建立外部资料表SQL语法:

create external table 资料库DB.现在要建立的资料表(
栏位名称 资料结构[,栏位名称 资料结构,,])
row format delimited
fields terminated by '\t'
stored as textfile
location 's3://对应位址 /'
table properties (预设定的资料表属性);

建立完成之後就可以下select语法查询。

*Redshift Spectrum使用考量( https://docs.aws.amazon.com/zh_tw/redshift/latest/dg/c-using-spectrum.html )


<<:  Day3 安装 Laravel + Composor

>>:  DAY16-JAVA的继承(3)

Day 11基础元件

今天先介绍几个比较常用的元件,包括Text、Icon、Image及Button。 Text文字元件 ...

README,写在开赛第一天

去年写了跟自身专业 Android 题目,在每天固定输出文字是一种表达的练习。而今年持续分享自己的在...

Day17 Redis应用实战-GEO/HyperLogLog/Transaction操作

Redis 资料型态GEO 储存地理空间资讯. 可用指令 GEOADD GEOPOS GEODIST...

最小平方法 | ML#Day16

wiki页面:最小平方法 详细的内容就不在这里赘述了,这里依旧是介绍一点简单的概念。 为什麽我们要提...

[第二只羊] 迷雾森林建筑工事 I 桌游APP功能方块

天亮了 昨晚是平安夜 关於迷雾森林故事 阿虎的朋友 身为大型猫科动物,阿虎本来是不想管山林中的杂事,...