使用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;
相关推荐
ha_lydms8 小时前
5、Spark函数_s/t
java·大数据·python·spark·数据处理·maxcompute·spark 函数
陈平安安10 小时前
设计一个秒杀功能
java·数据库·sql
廋到被风吹走11 小时前
【数据库】【Oracle】SQL基础
数据库·sql·oracle
通义灵码12 小时前
从 Vibe Coding 到云端部署:Qoder + 阿里云 ECS 实战
阿里云·云计算
爱丽_12 小时前
MyBatis动态SQL完全指南
服务器·sql·mybatis
lightningyang13 小时前
渗透入门之SQL 注入(二)
数据库·sql·渗透·sql注入
嘉禾望岗50315 小时前
spark算子类型
大数据·分布式·spark
咕噜企业分发小米15 小时前
阿里云函数计算如何与ECS共享MySQL数据库?
数据库·mysql·阿里云
白日做梦Q18 小时前
【MySQL】9.吃透关键SQL语法:从正则表达式、窗口函数、条件函数到结果集合并的实战拆解
数据库·sql·mysql·正则表达式
PM老周18 小时前
产品路线图怎么做:从愿景到里程碑的 6 步落地法
开发语言·安全·阿里云·团队开发·个人开发