浏览器里的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/
共同学习,写下你的评论
评论加载中...
作者其他优质文章