PRQL-Query 项目教程
prql-queryQuery and transform data with PRQL项目地址:https://gitcode.com/gh_mirrors/pr/prql-query
1. 项目介绍
PRQL(Pipelined Relational Query Language)是一种现代的数据转换语言,旨在成为SQL的简单、强大且流水线化的替代品。PRQL-Query(pq)是一个允许用户使用PRQL查询和转换数据的工具。PRQL通过编译为SQL,兼容大多数数据库和现有的管理SQL的工具和编程语言。PRQL-Query项目是开源的,拥有一个开放的社区,旨在为用户、贡献者和其他项目提供一个友好的环境。
2. 项目快速启动
2.1 安装PRQL-Query
通过Homebrew安装
brew tap prql/homebrew-prql-query
brew install prql-query
通过Rust工具链(Cargo)安装
cargo install prql-query
通过Docker安装
docker pull ghcr.io/prql/prql-query
alias pq="docker run --rm -it -v $(pwd):/data -e HOME=/tmp -u $(id -u):$(id -g) ghcr.io/prql/prql-query"
2.2 使用PRQL-Query
pq --help
3. 应用案例和最佳实践
3.1 数据转换示例
以下是一个使用PRQL进行数据转换的示例:
from invoices
filter invoice_date >= @1970-01-16
derive [
transaction_fees = 0.8,
income = total - transaction_fees
]
filter income > 1
group customer_id (
aggregate [
average total,
sum_income = sum income,
ct = count total
]
)
sort [-sum_income]
take 10
join c=customers (==customer_id)
derive name = f"[c.last_name], [c.first_name]"
select [c.customer_id, name, sum_income]
derive db_version = s"version()"
3.2 最佳实践
- 使用PRQL的变量和函数:PRQL支持变量和函数,使得查询更加模块化和可重用。
- 数据库无关性:PRQL编译为SQL,因此可以兼容多种数据库。
- 嵌入SQL:在必要时,PRQL允许嵌入SQL,以满足特定需求。
4. 典型生态项目
4.1 PRQL-Docs
PRQL-Docs是PRQL的官方文档项目,提供了详细的语言规范和使用指南。
4.2 PRQL-Playground
PRQL-Playground是一个在线的PRQL编辑器,用户可以在浏览器中编写和测试PRQL查询。
4.3 PRQL-Roadmap
PRQL-Roadmap项目记录了PRQL的发展路线图,包括未来的功能和改进计划。
4.4 PRQL-Posts
PRQL-Posts是一个社区驱动的项目,分享PRQL的使用经验和案例分析。
通过以上模块,您可以快速了解和使用PRQL-Query项目,并探索其在数据转换和查询中的应用。
prql-queryQuery and transform data with PRQL项目地址:https://gitcode.com/gh_mirrors/pr/prql-query