spark.sql("""SHOW DATABASES""").show()
spark.sql("""SHOW TABLES IN Nbadb""").show()
---------
|namespace|
---------
| default|
| nbadb|
---------
--------- ------------ -----------
|namespace| tableName|isTemporary|
--------- ------------ -----------
| nbadb| games| false|
| nbadb|games_detail| false|
| nbadb| players| false|
| nbadb| ranking| false|
| nbadb| teams| false|
--------- ------------ -----------
def show_catalog_stats():
spark.sql("""SHOW DATABASES""").show()
spark.sql("""SHOW TABLES IN Nbadb""").show()
這是我的代碼,我嘗試創建回傳 tableNames 和資料計數的函式(使用 spark.sql 命令)。怎么做?
uj5u.com熱心網友回復:
您可以將 pyspark 上的資料框摘要方法用于您的用例。遵循 Pyspark 3.x 資料框匯總方法或Pyspark 2.x 匯總方法檔案。
df = spark.table("database_name.table_name")
df.summary("count").show(truncate=False)
更新:
獲取資料庫中所有表的計數摘要
def get_table_counts(dbname):
table_names = spark.catalog.listTables(dbname)
table_values_extracted = [f"{table.database}.{table.name}" for table in table_names]
for table_name in table_values_extracted:
print(table_name)
spark.table(table_name).summary("count").show(truncate=False)
return 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/416363.html
標籤:
上一篇:將唯一值連接到spark資料框中
