为了账号安全,请及时绑定邮箱和手机立即绑定

浏览器里的SQL分析工具 — DuckDB Web Shell:本地数据轻松分析

我对几件事情感到很兴奋。首先是DuckDB Web Shell——一个可以在浏览器中运行的DuckDB的WebAssembly实现。无需安装:访问这个网址:https://shell.duckdb.org/,DuckDB引擎就会在您的浏览器中自动加载并运行。

在将浏览器导航到 shell.duckdb.org 几秒后,DuckDB 就会在你的浏览器里运行起来,CLI 就会出现在你面前。

所有后续操作都在本地完成。都在您的浏览器里进行。当你打开DuckDB时,您可以切换到飞行模式,在私人模式下处理您的数据。

将数据移动到DuckDB实例的一种方法是添加本地文件。添加文件的命令是".files add",当你在命令行界面输入此命令后,浏览器会弹出文件选择对话框,你可以选择一个或多个文件(如CSV、JSON、Parquet等)进行上传。

添加一个本地文件,使其能够在DuckDB中进行SQL运算

文件添加后,你可以使用 _.files 列表来检查它是否已经被包含在上下文中。如果是,你现在可以使用例如 read_csv_auto 函数来访问它。

    select *  
    from   read_csv_auto('movies.csv');

从 movies.csv 文件读取数据

添加(上传)本地文件,确认它已加入DuckDB上下文,然后使用rad_csv_auto查询它

将这个文件中的数据转换成DuckDB里的表格非常容易:

创建表 movies 作为从 read_csv_auto('movies.csv') 选择所有列的来源

从本地的 CSV 文件生成一个表格并描述一下这个表格

如果你仍然保持在线状态,你的本地DuckDB数据库也可以通过HTTP访问远程的文件。你不必将本地文件上传到浏览器中的DuckDB,相反,DuckDB可以直接访问例如GitHub或S3上的文件。

这里有一个例子,比如使用GitHub上的csv文件的原始内容API。

    SELECT *   
    FROM   read_csv_auto('https://raw.githubusercontent.com/lucasjellema/informatica-databases/main/imdb/movies.csv')  
    ;

从一个可通过 HTTP 访问的远程 CSV 文件中直接查询数据

这样,这些数据可以使用 create table as select * from … 语法拉取到本地表中。

    CREATE TABLE imdb_movies AS  
    SELECT *   
    FROM   read_csv_auto('https://raw.githubusercontent.com/lucasjellema/informatica-databases/main/imdb/movies.csv')  
    ;
    -- 创建一个名为imdb_movies的表,该表的数据来源于指定的CSV文件.

除了能够极速访问一个功能完备的SQL数据库和分析查询引擎之外,这个本地的DuckDB还让我能轻松地对本地数据集进行分析。我并不是Excel高手,像大多数人一样,我经常需要处理CSV和其他类似格式的数据。有了这种快速将数据导入SQL引擎的能力,我预计能够更轻松、更丰富地进行分析。我用SQL比用Excel熟练得多。

使用SQL在DuckDB中操作数据后,将数据导出为CSV文件格式(或JSON格式)是非常简单的。一个简单的COPY语句可以将任何SELECT语句的结果保存为本地DuckDB文件,使用_.files下载<filename>,你就可以通过浏览器下载文件到你的本地硬盘。

从一个 Select 语句生成一个本地的 csv 文件,然后在浏览器中下载该文件到本地。注意:所有数据和文件始终都保持在本地,完全在浏览器内部。

资源

DuckDB 文档页面: https://duckdb.org/docs

在您的浏览器中启动DuckDB网站的shell:https://shell.duckdb.org/

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消