我想为与我一起工作的人提供一种工具来创建 parquet 文件,以用于读取和处理此类文件的模块的单元测试。
我使用 ParquetViewer 查看 parquet 文件的内容,但我喜欢有一个工具来制作(示例)parquet 文件。是否有这样的工具可以使用 GUI 或其他实用的 CLI 创建镶木地板文件?
注意:我更喜欢跨平台解决方案,但如果不是,我正在寻找 Windows/mingw 解决方案以便在工作中使用它 - 我无法选择操作系统:\
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"}
复制此答案: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');
QStudio 是一个免费的 SQL 客户端,包含 DuckDB。在这里您可以看到它用于查看镶木地板文件:https://www.timestored.com/qstudio/parquet-file-viewer
为了将数据保存到镶木地板,它有两个功能可以真正帮助您:
复制(选择“test1”作为 col1)到“C:\Users” 同一个\桌面 结果-snappy.parquet'(格式'镶木地板');