GUI 或 CLI 创建镶木地板文件

问题描述 投票:0回答:3

我想为与我一起工作的人提供一种工具来创建 parquet 文件,以用于读取和处理此类文件的模块的单元测试。

我使用 ParquetViewer 查看 parquet 文件的内容,但我喜欢有一个工具来制作(示例)parquet 文件。是否有这样的工具可以使用 GUI 或其他实用的 CLI 创建镶木地板文件?

注意:我更喜欢跨平台解决方案,但如果不是,我正在寻找 Windows/mingw 解决方案以便在工作中使用它 - 我无法选择操作系统:\

user-interface command-line-interface parquet
3个回答
3
投票
用Java编写的

parquet-cli可以将CSV转换为parquet。

(这是 Windows 上的示例)

test.csv 如下:

emp_id,dept_id,name,created_at,updated_at
1,1,"test1","2019-02-17 10:00:00","2019-02-17 12:00:00"
2,2,"test2","2019-02-17 10:00:00","2019-02-17 12:00:00"

在 Windows 上需要 winutils。下载并设置环境值。

$ set HADOOP_HOME=D:\development\hadoop

克隆 parquet-mr,构建全部并运行 parquet-cli 的“convert-csv”命令。

$ cd parquet-cli
$ java -cp target/classes;target/dependency/* org.apache.parquet.cli.Main convert-csv C:\Users\foo\Downloads\test.csv -o C:\Users\foo\Downloads\test-csv.parquet

“cat”命令显示该镶木地板文件的内容。

$ java -cp target/classes;target/dependency/* org.apache.parquet.cli.Main cat C:\Users\foo\Downloads\test-csv.parquet
{"emp_id": 1, "dept_id": 1, "name": "test1", "created_at": "2019-02-17 10:00:00", "updated_at": "2019-02-17 12:00:00"}
{"emp_id": 2, "dept_id": 2, "name": "test2", "created_at": "2019-02-17 10:00:00", "updated_at": "2019-02-17 12:00:00"}

2
投票

复制此答案:https://stackoverflow.com/a/74010417/220997

您可以使用 DBeaver 创建 parquet 文件。跨平台。创建内存中的 DuckDB 数据库,然后编写查询。这里有一些例子:https://duckdb.org/docs/data/parquet

它仍然需要一些技术知识,但还不错。

用于输出一列一条记录的示例代码。

COPY (SELECT 'test1' as col1) TO 'C:\Users\name\Desktop\result-snappy.parquet' (FORMAT 'parquet');

您可以使用相同的过程来查看文件。

SELECT * FROM read_parquet('C:\Users\name\Desktop\result-snappy.parquet');

0
投票

QStudio 是一个免费的 SQL 客户端,包含 DuckDB。在这里您可以看到它用于查看镶木地板文件:https://www.timestored.com/qstudio/parquet-file-viewer

为了将数据保存到镶木地板,它有两个功能可以真正帮助您:

  1. 通过单击小黄色 qduckdb 可以将任何 AQL 查询转换为 parquet。这会将其作为镶木地板保存到 c:\users{用户名}\qstudio\qduckdb ame.镶木地板。
  2. 由于它捆绑了 duckdb,只需使用它来保存镶木地板:

复制(选择“test1”作为 col1)到“C:\Users” 同一个\桌面 结果-snappy.parquet'(格式'镶木地板');

© www.soinside.com 2019 - 2024. All rights reserved.