使用Spark SQL读取阿里云OSS的数据

读OSS数据

创建一个table,并关联OSS目录路径

sql 复制代码
CREATE TABLE my_table
USING parquet
OPTIONS (
  path 'oss://my_bucket/my_data_dir/dt=20230904',  -- 关联OSS路径
  header 'true', -- 如果Parquet文件包含列名的头部信息,则设置为'true',否则设置为'false'
  inferSchema 'true' -- 自动推断Parquet文件的模式
);

如果数据文件是Parquet格式的,可以自动推断出表的schema,很方便。

这样就可以使用sql语句读取数据了。

sql 复制代码
DESC my_table;
SELECT * FROM my_table limit 50;

写OSS数据

首先创建一个关联OSS目录的database:

sql 复制代码
--drop database if exists keepdb CASCADE;  -- 注意这个drop操作会删除OSS上对应目录下的数据,谨慎!!!

create database if not exists my_db location 'oss://my_bucket.oss-cn-beijing-internal.aliyuncs.com/my-data-dir';

现在就可以通过sql写入数据到OSS了,如下:

sql 复制代码
use my_db;

create table my_oss_table like my_table;

insert overwrite table my_oss_table
select * from my_table;
相关推荐
ZhengEnCi2 小时前
S2C-SQL DELETE 删除数据完全指南-99%的人忘记WHERE子句,SQL高手却这样写:从基础语法到多表关联的数据删除利器
sql
1***Q7842 小时前
SQL Future
数据库·sql
b***74884 小时前
云服务厂商对比:阿里云、腾讯云、华为云
阿里云·华为云·腾讯云
wudl55664 小时前
Flink20 SQL 窗口函数概述
服务器·数据库·sql
keep__go8 小时前
spark 单机安装
大数据·运维·分布式·spark
百***170712 小时前
Oracle分页sql
数据库·sql·oracle
蒙特卡洛的随机游走15 小时前
Spark的persist和cache
大数据·分布式·spark
蒙特卡洛的随机游走15 小时前
Spark 中 distribute by、sort by、cluster by 深度解析
大数据·分布式·spark
梦里不知身是客1115 小时前
Spark中的宽窄依赖-宽窄巷子
大数据·分布式·spark
好记忆不如烂笔头abc17 小时前
sql评估存储的速度和稳定性
数据库·sql