全球最快的 JSON 文件查询工具

可视化JSON数据工具推荐:JSON Viewer Pro和JSONGrid 本文介绍了两款可视化JSON数据的工具:JSON Viewer Pro和JSONGrid。它们都提供了丰富的功能和用户友好的界面,使用户能够更轻松地理解和处理JSON格式的数据。这些功能包括查看和分析、编辑和修改、格式化和美化、折叠和展开、高亮和搜索、排序和过滤、导入和导出等。这些工具对于开发人员、数据分析师和任何需要处理JSON的人都非常实用。 阅读详情

图片

本文字数:1684;估计阅读时间:5分钟

审校:庄晓东(魏庄)

本文在公众号【ClickHouseInc】首发

图片

介绍

在 ClickHouse,我们热衷于基准测试和性能优化。所以当我第一次看到 Hacker News 上那篇“查询大型 JSON 文件的最快工具是用 Python 编写的”帖子时,我的第一个想法是——“但 clickhouse-local 不是用 Python 编写的”。让我们来看一下这个基准测试,证明 clickhouse-local 实际上是查询大型 JSON 文件的最快工具。

clickhouse-local

clickhouse-local 是一个单一的二进制文件,允许你使用 SQL 快速处理本地和远程文件,提供了无数据库的数据库功能。除了支持 ClickHouse 的所有功能外,它还支持多种文件格式,包括 JSON。下面我们尝试可视化 ClickHouse 集群、单个 ClickHouse 实例和 clickhouse-local 之间的区别:

图片

性能基准测试

SPySQL 的创建者 Daniel Moura 发布了一项作为 SPySQL 项目一部分的基准测试。该基准测试比较了几种命令行工具,重点是查询可以存储在标准机器磁盘上但可能无法完全放入内存的大文件。测试数据集使用了亚马逊书评数据集的 10GB 子集。基准测试中使用的工具包括 SPySQL、jq、trdsql、Miller、OctoSQL、spark-sql、Pandas 和 DSQ。基准测试主要包含 3 个挑战:

  • Map:

    为所有行计算一个新列(批量输入和输出都很大)。

    这代表了一种常见的 ETL 类任务,涉及数据清洗和丰富。

  • Aggregation/Reduce:

    计算一列所有行的平均值(只有输入很大)。

    适用于需要快速分析结果且想避免将数据加载到如 ClickHouse 这样的数据存储中的用户。

  • Subset/Filter:

    返回符合过滤条件的列的前 100 个值(只需要处理部分输入)。

    此测试评估工具快速采样文件的能力,代表用户在迭代查询前常执行的任务。

初步测试结果显示 SPySQL 是查询大型 JSON 文件的最快工具:

图片

但 Daniel 并不知道 clickhouse-local。为此,ClickHouse 最近引入了两个新功能,使处理 JSON 文件和复现此基准测试变得更加简单:支持半结构化数据存储和自动模式推断。后者允许 ClickHouse 从数据中推断列类型,因此用户无需指定 JSON 文件的结构和每个字段的类型,从而简化了语法并加速了入门体验。

在联系 Daniel 后,他迅速将 clickhouse-local 添加到他的基准测试中并更新了结果。令人惊讶的是,clickhouse-local 比之前的所有工具都快。OctoSQL 的一位开发人员(用 Go 编写)也要求根据最新改进更新基准测试,并取得了不错的结果。下图展示了更新后的基准测试结果。

Map 测试

图片

1GB 数据的测试结果

图片

聚合(reduce)测试

图片

1GB 数据的测试结果

图片

过滤(subset)测试

图片

1GB 数据的测试结果

图片

结果总结

图片

更新的结果已经发布在此。可以看到,clickhouse-local 在查询大型 JSON 文件时速度远超大多数其他工具,而 OctoSQL 在处理较小文件时表现优异。

这个基准测试并不完美。每个查询只运行一次,因此可能会有波动,用户在本地硬件上重现结果时可能会发现运行之间的明显差异。结果也可能由于硬件和操作系统的差异而有所不同。最后,Daniel 在过滤查询中故意没有使用 ORDER BY 子句。虽然这可能导致不同工具之间的结果不同,因为 SQL 并不强制默认顺序,但基准测试的目标是评估用户希望尽快对文件进行采样以及工具避免完全扫描的能力。这个测试对那些在满足 LIMIT 后支持早期终止并且不需要将整个文件加载到内存中的工具有利。

所以,下次你需要处理大型 JSON 文件时,就知道该用哪个工具了!

征稿启示

面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com

图片

​​联系我们

手机号:13910395701

邮箱:Tracy.Wang@clickhouse.com

满足您所有的在线分析列式数据库管理需求

 

hutool工具-----JSON工具-JSONUtil JSONUtil 介绍 JSONUtil是针对JSONObject和JSONArray的静态快捷方法集合,在之前的章节我们已经介绍了一些工具方法,在本章节我们将做一些补充。 使用 1、JSON字符串创建 JSONUtil.toJsonStr可以将任意对象(Bean、Map、集合等)直接转换为JSON字符串。 如果对象是有序的Map等对象,则转换后的JSON字符串也是有序的。 /** * 转换为JSON字符串 * <p> * 被转为JSON的对象 * 阅读详情

相关推荐

【好物推荐】JSONView,一款查看json数据的神器

通过访问后端API,返回的JSON数据如下(真的很丑)

奶爸的编程之路,也就一周冷个三天 1万+

JSON在线查看器

JSON在线查看器:https://www.bejson.com/jsonviewernew/

LinMin的博客 2309

JSONView:专业的JSON格式检查与查看工具

本文还有配套的精品资源,点击获取 简介:JSONView 是一个专为开发者设计的工具,它用于检查和查看JSON格式数据。作为一个JSON格式的检查器和查看器,它可以快速验证JSON数据的正确性并提供直观的可视化浏览。其特点包括易于阅读和解析的文本形式存储、对括号匹配、引号使用等语法的准确检查以及对错误字符的实时提示。此外,它使用树形结构展示数据,允许用户方便地查看嵌套的JS...

weixin_36288992的博客 8917

JSON For You多语言支持:打造全球化JSON处理工具的完整指南

JSON For You是一款功能强大的JSON可视化与处理工具,通过创新的多语言支持机制,为全球开发者提供了无缝的本地化体验。这款工具不仅支持英语和中文两种语言,还通过智能域名检测自动切换语言环境,让不同地区的用户都能轻松使用这款终极JSON处理解决方案。 ## 🌍 为什么JSON工具需要多语言支持? 在全球化软件开发时代,JSON(JavaScript Object Notation)作

gitblog_01021的博客 672

全球邮政与电话区号查询平台:酷猪邮编查询系统

htmltable {th, td {th {pre {简介:酷猪邮编查询系统是一个便捷、高效且功能全面的工具,旨在为用户提供全球邮政编码和电话区号的查询服务。系统不仅拥有强大的查询功能,还注重美观和用户体验。开发者对系统进行了全面优化,提供了后台数据库管理功能以及自助链接设置,同时作为开源项目,用户可以访问源代码进行定制化开发。文档资料的提供确保了用户能够快速了解和使用系统,使其成为个人、企业和开发者值得信赖的查询平台。

weixin_28931449的博客 495

全球行政区数据集成:SQL与JSON格式

数据集的逻辑结构定义是将数据信息以一种结构化、可查询的形式组织起来的过程。在SQL数据库中,这意味着创建数据表并定义表中列的类型以及它们之间的关系。为了标准化数据集,我们需要遵循一些最佳实践:数据表的命名- 表名应该简洁明了,能够反映表中的数据内容。列的命名- 列名也应该清晰、一致,建议使用小写字母并用下划线分隔单词。数据类型选择- 根据实际存储的数据选择合适的数据类型(如 INT, VARCHAR, DATE 等),避免过大的数据类型以节省空间和提高效率。字段约束设置。

weixin_36474966的博客 588

timezones.json:全球时区数据终极解决方案

在当今全球化协作的时代,跨时区开发已成为每个开发者必须面对的挑战。无论是构建国际化的电商平台、跨国企业管理系统,还是开发面向全球用户的社交应用,准确处理不同地区的时区信息都至关重要。timezones.json项目提供了一个完整、简单易用的全球时区数据集合,让你轻松应对跨时区开发的种种难题。🚀 ## 为什么你需要timezones.json? 想象一下这样的场景:你的应用需要为纽约、伦敦、东

gitblog_00943的博客 880

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 918

【免费下载】 全球七大洲国家城市三级联动JSON资源文件:助力你的地理信息应用

全球七大洲国家城市三级联动JSON资源文件:助力你的地理信息应用 【下载地址】全球七大洲国家城市三级联动JSON资源文件 本仓库提供了一个名为“全球七大洲国家城市三级联动json”的资源文件。该文件包含了全球七大洲的国家和城市信息,并以三级联动的形式组织,方便开发者在前端或后端应用中进行国家和城市的选择与联动 ...

gitblog_09765的博客 1626

GB9706.1-2020应用部分如何理解?

医用电气设备对应用部分的温度限制,绝缘考核,漏电流限制要求相对设备的其他部分来说都会要求比较严格。所以,划分设备的应用部分显得非常重要。现实中,医疗器械种类繁多,形状各异,比如大家熟悉的,小的如血压计,大的设备如CT。有些时候,我们应该如何根据应用部分的定义来确定ME设备的哪些部分是应用部分呢?还有GB 9706.1-2020中关于“应用部分”的定义中注2我们又该如何理解? 看过GB 9706.1-2020的朋友应该都已经注意到,相比老版也就是07版的9706.1,应用部分的定义是相对变...

喵叫兽的博客 8294

零基础入门Simulink——基于Simulink的MIMO-OFDM系统仿真建模示例

MIMO概述MIMO技术利用多个天线进行信号发送和接收,通过空间复用来提高数据传输速率,或通过空间分集来增强信号的可靠性。OFDM概述OFDM是一种将高速率数据流分成多个低速数据流并行传输的技术,每个子载波都采用调制方式(如BPSK、QPSK),并通过IFFT/FFT变换实现串并转换。MIMO-OFDM优势结合了MIMO的空间分集增益与OFDM对抗多径效应的能力,适用于宽带无线通信系统。提供了更高的数据速率和更好的频谱效率,是现代无线通信标准(如4G LTE、5G NR等)的核心技术之一。

amy_mhd的博客 888

all-countries-and-cities-json:全球国家和城市列表,JSON格式整理

all-countries-and-cities-json:全球国家和城市列表,JSON格式整理 项目介绍 all-countries-and-cities-json 是一个开源的数据项目,旨在提供一个包含全世界所有国家和城市的列表,并以JSON格式存储。此项目中的国家和城市名称全部采用ASCII字符,并以字母表顺序排序,便于开发者读取和处理。all-countries-and-cities-js...

gitblog_00578的博客 1365

移动支付APP(仿支付宝)

Toast.makeText(PayActivity.this, "支付失败:" + payResponse.getMsg(), Toast.LENGTH_SHORT).show();Toast.makeText(PayActivity.this, "支付失败:" + t.getMessage(), Toast.LENGTH_SHORT).show();Toast.makeText(PayActivity.this, "支付失败", Toast.LENGTH_SHORT).show();

寒寒豆豆软件公司的博客 134

JSON4U多语言支持:打造全球化JSON处理工具的完整指南

JSON4U是一款功能强大的JSON可视化与处理工具,通过创新的多语言支持机制,为全球开发者提供了无缝的本地化体验。这款JSON处理工具不仅支持英语和中文两种语言,还通过智能域名检测自动切换语言环境,让不同地区的用户都能轻松使用这款终极JSON处理解决方案。无论您是中文开发者还是英文用户,JSON4U都能为您提供最熟悉的操作界面,让JSON数据处理变得简单高效。 ## 🌍 为什么JSON工具需

gitblog_00825的博客 266

工业级Modbus ASCII实时监控系统(WinForms完整实现)

本文介绍了一个基于WinForms的工业级Modbus ASCII实时监控系统实现方案。该系统采用经典工控界面布局,包含串口配置、数据采集控制和实时数据显示三大区域。核心功能包括:串口通信参数设置、Modbus从站地址配置、寄存器数据采集、实时数据表格展示和趋势图绘制。系统通过ModbusAsciiClient类实现通信核心,采用定时器轮询机制采集数据,支持最多100个数据点的历史趋势显示。界面设计注重用户体验,配置区位于左侧,主显示区在右侧,底部为状态和日志区,符合工业控制系统的操作习惯。代码示例展示了窗

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 278

SQL面试题——抖音SQL面试题 股票波峰波谷

这个题目的难度比较低,我们是用lead 和 lag 两个函数就可以搞定,也就是在一个SQL 里面同时使用多个函数,问题的考查点在于对边界的考虑。

2万+

WHOIS域名信息查询工具:山海云端工具箱的新功能

在互联网的世界里,域名作为企业或个人的重要资产,其信息的查询与管理至关重要。山海云端工具箱最新推出了WHOIS域名信息查询工具,它能够帮助用户快速获取全球域名的注册信息、所有者信息、注册商信息等关键数据。本文将详细介绍这个工具的功能、实现方式以及使用方法。

SHANHAI1122的博客 1154

MicroPython学习:在STM32上进行移植

本文将介绍如何在STM32上移植MicroPython,并提供相应的源代码。通过以上步骤,你已经成功地将MicroPython移植到STM32上,并可以使用MicroPython语言编写和运行代码。你可以进一步探索MicroPython的功能和API,以利用STM32的各种外设和功能。使用STM32CubeProgrammer或其他适当的烧录工具,将编译生成的MicroPython固件烧录到STM32微控制器中。打开该文件,并根据你的STM32微控制器类型进行必要的配置更改。模块来控制STM32的LED。

JeeVue的博客 1237

终极全球时区解决方案:timezones.json完整指南

在全球化的数字时代,处理跨时区时间数据已成为开发者的日常挑战。无论是构建国际化应用、处理分布式系统日志,还是实现多区域用户调度,准确的全球时区数据都是不可或缺的基础设施。timezones.json项目提供了一个完整的UTC时间区JSON文件,为开发者解决了时区数据管理的痛点,让全球时区处理变得简单高效。 ## 问题痛点:时区数据的复杂性 处理时区数据时,开发者经常面临以下挑战: - 时区数据

gitblog_00229的博客 586

EMB电子机械制动系统和EHB电子液压制动系统控制功能的对比

EMB电子机械制动系统相比EHB液压制动系统具有显著优势:响应速度更快(<100ms)、控制精度更高(±2N·m)、能实现单轮独立控制,支持0.1%级制动力调节。在ABS、ESC等安全功能上表现更优,制动平顺性和NVH性能更好,同时提升能量回收效率15%-20%。特别适合智能驾驶需求,可使AEB等系统响应时间缩短50ms,紧急制动距离减少1米以上。EMB系统完美契合高阶自动驾驶对快速响应和精准控制的要求。

m0_59012156的博客 885

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python 从文件中读取JSON 数据并解析转存

一文通晓Python的json模块,彻底告别json文件读取、解析、转存的困扰,文中详细的解释了load和loads、dump和dumps的区别,并附带真实应用案例。

weixin_54217348的博客 1539

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

如何快速掌握JSON可视化处理工具:面向初学者的终极完整指南

JSON For You是一款功能强大的JSON可视化与处理工具,通过创新的多语言支持机制,为全球开发者提供了无缝的本地化体验。这款工具不仅支持英语和中文两种语言,还通过智能域名检测自动切换语言环境,让不同地区的用户都能轻松使用这款终极JSON处理解决方案。 ## 🌍 问题描述:为什么JSON处理如此令人头痛? 在日常开发工作中,处理JSON数据常常成为开发者的痛点。无论是杂乱无章的JSON

gitblog_02754的博客 1042

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OpenMed 测试体系实战:测试分层、CI 基线命令与 Zero-Shot 冒烟验证

OpenMed 是一个本地优先(local-first)的临床 NER 与 HIPAA PII 脱敏工具库,其测试体系围绕"离线可运行、快速回归、可复现 CI"三个目标构建。本篇基于 [docs/testing.md](https://link.gitcode.com/i/be4149776be085541d435626f5a11c26) 的官方指引,结合 [pyproject.toml](htt

gitblog_01010的博客 730

PyWxDump 微信版本支持完整指南:快速判断版本兼容与不支持时的自救方法

PyWxDump 是一款微信 PC 版数据库解析工具,用于从本地 SQLite 库中提取微信数据。新手最常卡住的问题只有一个:微信一更新,工具还能不能读出数据?本文基于项目公开的适配记录,讲清支持哪些版本、怎么快速判断,以及报"版本不支持"时你能做什么,最后还要说明一个必须知道的项目现状。 ## 为什么微信一更新,工具就可能读不出数据 PyWxDump 依赖的昵称、账号、数据库密钥等信息,并不

gitblog_00340的博客 642

2022年最新全球经纬度边界JSON数据:全球边界的web3D渲染解决方案

2022年最新全球经纬度边界JSON数据:全球边界的web3D渲染解决方案 去发现同类优质开源项目:https://gitcode.com/ 随着互联网技术和地理信息系统的快速发展,全球地理信息的可视化需求日益增强。今天,我将为您介绍一款开源项目——2022年最新全球经纬度边界JSON数据,它为web3D应用中的边界绘制提供了高效解决方案。 项目介绍 2022年最新全球经纬度边界JSON数据是一款...

gitblog_06778的博客 615

timezones.json:一站式解决全球时区数据管理难题

在全球协作日益紧密的数字时代,正确处理跨时区时间信息已成为开发者必备的核心能力。timezones.json项目提供了一个全面、标准化的时区数据集合,为各类应用提供了可靠的时区信息支持,让全球时区数据管理变得前所未有的简单。 ## 🌍 为什么需要专业的时区管理工具? 在开发涉及多时区应用时,开发者常常面临诸多挑战:时区数据不完整、夏令时规则复杂、地区政策变化频繁等。这些问题不仅增加了开发难度

gitblog_01108的博客 1002
上一篇: Trip.com 如何从 Elasticsearch 迁移到 ClickHouse 并构建了 50PB 的日志解决方案
下一篇: ClickHouse 认证开发人员考试
ClickHouseDB
博客等级 码龄3年 1707粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值