大量的资料势必可能来自不同资料源,在结构化资料库的世界常用的就是联合查询。那如果我的资料不全都在结构化资料库呢?介绍到现在许多人一定会想到强大的储存系统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所建立的外部资料库中。可以在编辑器或用户端下指令建立。
建立外部资料库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
今天先介绍几个比较常用的元件,包括Text、Icon、Image及Button。 Text文字元件 ...
去年写了跟自身专业 Android 题目,在每天固定输出文字是一种表达的练习。而今年持续分享自己的在...
Redis 资料型态GEO 储存地理空间资讯. 可用指令 GEOADD GEOPOS GEODIST...
wiki页面:最小平方法 详细的内容就不在这里赘述了,这里依旧是介绍一点简单的概念。 为什麽我们要提...
天亮了 昨晚是平安夜 关於迷雾森林故事 阿虎的朋友 身为大型猫科动物,阿虎本来是不想管山林中的杂事,...