ZettaPark 快速入门
本文帮助你在 10 分钟内完成安装、建立会话、查询数据、写入表,跑通完整流程。
前置条件
Python 3.10 及以上
已有云器 Lakehouse 账号,并准备好以下连接信息:实例名、工作空间名、用户名、密码
安装
pip install clickzetta_zettapark_python
💡 提示 :在 Jupyter Notebook 中安装用
!pip install clickzetta_zettapark_python!pip install clickzetta_zettapark_python
。
建立会话
会话是所有操作的入口,连接到指定的 Lakehouse 实例和工作空间。
from clickzetta.zettapark.session import Session
session = Session.builder.configs({
"username": "your_username",
"password": "your_password",
"service": "cn-shanghai-alicloud.api.clickzetta.com",
"instance": "your_instance",
"workspace": "your_workspace",
"schema": "public",
"vcluster": "DEFAULT"
}).create()
验证连接是否成功:
session.sql("SHOW SCHEMAS").show(3)
+-----------------+
| schema_name|
+-----------------+
| bronze|
| cat_litter|
|clickzetta_doc_kb|
+-----------------+
查询数据
从已有表创建 DataFrame 并过滤:
from clickzetta.zettapark import functions as F
df = session.table("your_table")
df.filter(F.col("amount") > 100).select("id", "amount", "region").show(5)
也可以直接执行 SQL:
df = session.sql("SELECT region, SUM(amount) AS total FROM your_table GROUP BY region")
df.show()
💡 提示 :
show()show()
触发执行并打印结果;
collect()collect()
返回
RowRow
对象列表;
to_pandas()to_pandas()
返回 pandas DataFrame。
写入表
将 Python 数据写入 Lakehouse 表:
from clickzetta.zettapark.types import IntegerType, StringType, StructType, StructField
schema = StructType([
StructField("id", IntegerType()),
StructField("name", StringType()),
StructField("amount", IntegerType()),
])
df = session.create_dataframe(
[[1, "Alice", 200], [2, "Bob", 150], [3, "Carol", 300]],
schema=schema
)
df.write.save_as_table("my_first_table", mode="overwrite")
验证写入结果:
session.table("my_first_table").show()
+---+-----+------+
| id| name|amount|
+---+-----+------+
| 1|Alice| 200|
| 2| Bob| 150|
| 3|Carol| 300|
+---+-----+------+
关闭会话
session.close()
下一步