这个项目能做什么

Huey 是一款免费、开源的静态 Web 应用程序,用于直接在浏览器中探索和分析数据。它利用编译为 WebAssembly 的 DuckDB (DuckDB-WASM) 来提供快速、无服务器的数据分析。 ## 核心功能 - **文件支持**:读取 `.csv`、`.parquet`、`.json`、`.xlsx` 和 `.duckdb` 数据库文件,支持本地上传或通过 URL 加载。 - **数据透视表**:直观的界面,用于构建具有投影、聚合、过滤和分类汇总功能的数据透视表。 - **派生属性**:自动将日期/时间列分解为时间层级(年、月、季度等),并支持大小写规范化或首字母索引等字符串操作。 - **嵌套数据分析**:广泛支持 JSON 数组和 STRUCT 类型,无需预处理即可对复杂的嵌套数据集进行即席分析。 - **导出**:将结果数据和生成的 SQL 查询导出到文件或剪贴板。 - **隐私优先**:作为静态 Web 应用,所有数据处理均在用户的浏览器本地进行。不会将任何数据上传到任何服务器。 - **渐进式 Web 应用 (PWA)**:可以像原生应用一样安装在设备上,并得益于浏览器缓存,支持离线工作。 - **轻量级**:极少的依赖项(DuckDB-WASM 和 Tabler Icons)。 - **无障碍性**:使用语义化 HTML 和 ARIA 角色。 ## 局限性 - **性能**:虽然作为基于浏览器的工具速度很快,但 DuckDB-WASM 受到 WebAssembly 运行时的限制(理论上 4GB 内存限制、单线程),与原生 DuckDB 相比,这可能会影响超大型数据集的处理。 - **远程访问**:基于 URL 的数据源可能会受到同源策略的阻碍,或者由于缺少 CORS 标头而无法访问,除非它们是从 HTTP 服务器提供服务的。 - **平台**:在桌面设备上体验最佳;平板电脑支持可用,但由于屏幕尺寸限制,暂无支持手机的计划。 - **扩展**:某些高级 DuckDB 扩展(例如访问 MySQL、PostgreSQL、Unity Catalog)在 WASM 版本中不可用。 ## 快速入门 用户可以通过在线演示地址 https://rpbouman.github.io/huey/src/index.html 立即体验 Huey,无需下载任何内容。以下示例报告可供参考: - **CSV**:机场航班运行、城市能源基准测试和零售销售数据。 - **JSON**:GitHub 公共事件,展示嵌套对象提取。 - **Parquet**:荷兰列车服务,展示字母索引和大小写规范化分组。 若要在本地运行,用户可以下载源码树并在浏览器中打开 `src/index.html`,或者从演示网站安装 PWA 以供离线使用。