使用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;
相关推荐
一拳一个娘娘腔7 小时前
【SRC漏洞挖掘系列】第03期:SQL注入——从“拖库”到“掌舵”的终极奥义
数据库·sql·安全
青春万岁!!7 小时前
hiveSQL脚本性能优化-减少表扫描
大数据·hive·sql
x***r1517 小时前
heidisql数据库客户端使用步骤详解(附HeidiSQL连接MySQL与SQL执行教程)
数据库·sql·mysql
环信即时通讯云8 小时前
AI圈今日大事(2026-05-21)
人工智能·阿里云·ai·google·芯片·qwen·gemini
NeedJava9 小时前
阿里云 ECS 美国服务器里的大文件传到国内 OSS 服务器
服务器·阿里云·云计算
zhojiew10 小时前
部署DataHub并导入Glue元数据以集成DBT和Spark ETL任务中数据血缘的实践
大数据·spark·etl
白雪落青衣10 小时前
BUU SQL COURSE 1 sql注入
数据库·sql·web安全·网络安全
fengxin_rou12 小时前
【MySQL SQL 执行全链路剖析】:执行计划、慢查询与经典场景优化指南
数据库·sql·mysql
星星~笑笑12 小时前
react Next.js oss上传 上传阿里云
javascript·react.js·阿里云·js
电魂泡哥19 小时前
SQL出现filesort 一定慢吗
数据库·sql