使用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;
相关推荐
-seventy-11 分钟前
SQL语句 (MySQL)
sql·mysql
嘟嘟太菜了2 小时前
使用阿里云试用资源快速部署web应用-dofaker为例
阿里云·云计算
一只在学习的瓶子3 小时前
【大模型 AI 学习】大模型 AI 部署硬件配置方案(本地硬件配置 | 在线GPU)
深度学习·阿里云·ai
coderWangbuer6 小时前
基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
spring boot·后端·sql
数据龙傲天6 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
cyt涛7 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
与衫8 小时前
掌握嵌套子查询:复杂 SQL 中 * 列的准确表列关系
android·javascript·sql
顶顶年华正版软件官方10 小时前
IDM下载器如何下载网盘文件 IDM下载器支持哪些网盘
阿里云·腾讯云·idm
我明天再来学Web渗透1 天前
【hot100-java】【二叉树的层序遍历】
java·开发语言·数据库·sql·算法·排序算法