使用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;
相关推荐
阿里云大数据AI技术14 小时前
聚数成湖,以智驭行:卓驭如何构建移动物理 AI 的数据底座
人工智能·spark
ProcessOn14 小时前
纯干货!MySql实战02:一条SQL更新语句执行流程大探索!
sql·mysql·sql server
geovindu19 小时前
sql: JSON and XML Data Handling in SQL using mysql 9.0
数据库·sql·mysql·数据库开发
泡海椒19 小时前
JQuick-SQL SELECT 投影:字段、别名与表达式查询
数据库·sql
猫咪很可爱19 小时前
mysqldump 失败常见场景
数据库·sql·mysql
其实防守也摸鱼20 小时前
Linux文本处理命令理论学习
linux·服务器·前端·数据库·sql·学习·安全
IM架构师20 小时前
# 一次老旧PHPCMS网站入侵排查:从SQL注入到PHP后门,以及IP白名单止血
sql·tcp/ip·php
大菠萝爱上小西瓜21 小时前
基于 Spark + Iceberg 湖仓一体的 Netflix 流媒体用户行为全链路数仓与 ALS 智能推荐决策系统(含穿透下钻大屏)
大数据·分布式·spark
ha_lydms1 天前
Datetime Functions(日期时间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
Wang's Blog1 天前
Java 项目实战: 交友项目 - 阿里云 OSS 入门案例:从创建 Bucket 到上传拿到可访问 URL
java·阿里云·交友