如何用PySpark读取Databricks samples元存储中nyctaxi库的trips表?
使用PySpark读取Databricks Samples元存储中的nyctaxi.trips表
Databricks的samples元存储是平台内置的公共数据集,无需额外配置连接凭证(和你之前操作Azure SQL、ADLS的场景不同),直接通过三级命名空间即可访问。以下是两种常用的读取方法:
方法1:DataFrame API直接读取
# 读取samples.nyctaxi.trips表为DataFrame trips_df = spark.read.table("samples.nyctaxi.trips") # 验证数据,显示前5行 trips_df.show(5)
方法2:Spark SQL查询加载
# 直接通过SQL查询加载为DataFrame trips_df = spark.sql("SELECT * FROM samples.nyctaxi.trips") # 可选:创建临时视图方便后续复用查询 spark.sql("CREATE OR REPLACE TEMP VIEW nyctaxi_trips AS SELECT * FROM samples.nyctaxi.trips") # 查询临时视图示例 spark.sql("SELECT passenger_count, trip_distance FROM nyctaxi_trips LIMIT 10").show()
关键说明
- 三级命名规则:
catalog.schema.table,这里samples是内置catalog,nyctaxi是schema(对应数据库),trips是目标表。 - 若需要筛选特定数据,可在读取时添加过滤条件,比如:
# 读取2016年1月的行程数据 filtered_trips_df = spark.read.table("samples.nyctaxi.trips").filter("tpep_pickup_datetime >= '2016-01-01' AND tpep_pickup_datetime < '2016-02-01'")
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

