SQL查询BOS数据
更新时间:2021-07-05
挂载BOS数据文件
-
BOS 是百度对象存储的简称。关于如何开通和使用BOS,可以参考 这里。
开通BOS之后,创建bucket,将我们要查询的数据进行上传,在BOS中将数据
data_survey
上传,然后我们再用挂载的方式将数据接入。 -
进入Pingo文件管理,点击挂载,填写bucket信息,进行文件挂载。我们在根目录(可以在有权限的任意目录)下进行挂载,挂载点填写
/myfiles
,类型为BOS
,区域当前只支持北京区域,填写我们要挂载的bucket名称,路径可以填写bucket下的文件夹路径,如果不填,将会挂载bucket下所有的文件和文件夹,填写完AK/SK之后点击确定。详细填写帮助点击这里。 -
挂载确定之后,可以在
myfiles
文件夹下看到,已经将BOS的文件同步到文件管理,挂载成功。
创建映射表
- 进入
数据管理-表管理
页面,依次创建命名空间和数据库。 - 选中当前数据库,点击右侧的
新建数据表
,在建表页面,选择映射表,并指定BOS文件的挂载路径/myfiles
。 -
然后点击
下一步
,输入建表语句然后点击确定。本示例建表语句如下 :
CREATE TABLE data_bos_survey( age tinyint comment '年龄', gender string comment '性别', education string comment '学历', city string comment '城市', income_permonth string comment '月收入', insu_expend string comment '保险支出占收入', insu_style string comment '保险类型', buy_willing string comment '购买保险意愿', buy_method string comment '购买方式', insu_company string comment '投保公司', key_side string comment '最看重的方面' ) PARTITIONED BY (dt string);
-
点击确定之后,可以在建表页面预览字段。确认无误之后,点击
提交
,建表完成。 -
创建成功后,可以从表管理的左侧导航树点击查看表的详细信息。
创建表分区
-
打开
作业管理-交互分析
,新建一个Spark-SQL
Notebook。 -
执行
SQL
语句,在表data_bos_survey
中创建分区dt=20191127
,并且指定分区路径/myfiles
。
执行SQL查询数据
-
打开Notebook,执行SQL查询语句,由查询结果可以看到,我们查询的分区
dt=20191127
成功关联了BOS数据,返回值为指定分区内的数据查询结果。 -
继续执行SQL查询语句,获取我们想要的查询结果。