国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

spark sql 查看全部數據庫的表

這篇具有很好參考價值的文章主要介紹了spark sql 查看全部數據庫的表。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一 需求背景

大數據環(huán)境下,metastore一般都交個hive處理,隨著數據庫 表 越來越多,進行源數據管理的就會成為痛點,如何能夠查詢出所有的數據庫下的所有表

二 官方文檔

Spark 官方文檔Tables

-- List all tables from default database matching the pattern `sam*|suj`
SHOW TABLES FROM default LIKE 'sam*|suj';
  +-----------+------------+--------------+--+
  | database  | tableName  | isTemporary  |
  +-----------+------------+--------------+--+
  | default   | sam        | false        |
  | default   | sam1       | false        |
  | default   | suj        | false        |
  +-----------+------------+--------------+--+

官方給的sample中,只能一個庫一個庫查詢,如果有成百上千個庫呢?

三 解法1

3.1 DB合集

databases = [
    db.databaseName 
    for db in spark.sql('show databases').collect()
]

3.2 tables合集

tables = [
    for db_rows in [
        spark.sql(f'show tables in {db}').collect() for db in databases
    ] 
    for row in db_rows
]

3.3 result format

targetTables = [
    f"{row['database']}.{row['tableName']}" 
    for db_rows in [
        spark.sql(f'show tables in {db}').collect() for db in targetDBList
    ] 
    for row in db_rows
]

從 Python 3.6 開始,Python f 字符串可用。 該字符串具有f前綴,并使用{}評估變量

python fyingyong

四 解法2

%scala
import org.apache.spark.sql.types._
// Create schema for final result
val schema = List(
    StructField("database", StringType, true),
    StructField("tableName", StringType, true),
    StructField("isTemporary", BooleanType, true)
)
// Create an empty Dataframe in Scala using VAR so its mutable
var resultDF = spark.createDataFrame(spark.sparkContext.emptyRDD[Row], StructType(schema))
// Get list of all Databases and store it in a Data frame
val df = spark.sql("show databases")
// Loop through all the databases and get list of all tables using // show tables from database 
// using unionAll append the dataframe
df.collect.foreach {db =>
   val dbname = db.toString().replaceAll("[\\[\\]]","")
   val tbldf=spark.sql(s"show tables from ${dbname}")
   resultDF = resultDF.unionAll(tbldf)
}
// display is available in databricks. Traditional spark use show
display(resultDF)
// display.show()

解法2出處文章來源地址http://www.zghlxwxcb.cn/news/detail-623269.html

到了這里,關于spark sql 查看全部數據庫的表的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【PostgreSql】只刪除整個數據庫的表(不刪除數據庫)

    環(huán)境: windows 數據庫: postgresql 前提: 此方法用來刪除數據庫所有的表,不包括保存的函數語句、查詢語句等(可適用于需要刪除整個數據庫的數據卻又不想刪除數據庫或者數據庫正在連接無法被刪除的情況) 查詢數據庫所有的表(假設表都在public模式下) 這個語句會列出

    2024年04月12日
    瀏覽(28)
  • 數據庫的表和屬性

    目錄 1.元組 2.碼 3.主碼-主鍵 4.外碼-外鍵 5.主鍵和外鍵的區(qū)別 6.數據庫的存儲過程 7.SQL的分類 8.數據庫設計:ER圖 概念:數據庫中,每個表的每一行就是一個元組,表的每一列就是一個屬性 即表中的列,唯一標識實體的屬性 一個表中只能有一個主碼 表中的一個屬性是另一個

    2024年02月12日
    瀏覽(20)
  • 【錯誤記錄】SQL Server Management Studio 修改數據庫表報錯 ( 不允許保存更改。您所做的更改要求刪除并重新創(chuàng)建一下表。您對無法重新創(chuàng)建的表進行了更改或者啟用了“阻止保存 )

    【錯誤記錄】SQL Server Management Studio 修改數據庫表報錯 ( 不允許保存更改。您所做的更改要求刪除并重新創(chuàng)建一下表。您對無法重新創(chuàng)建的表進行了更改或者啟用了“阻止保存 )

    在 SQL Server Management Studio 中 , 修改數據庫表報如下錯誤 : 不允許保存更改。您所做的更改要求刪除并重新創(chuàng)建一下表。您對無法重新創(chuàng)建的表進行了更改或者啟用了“阻止保存要求重新創(chuàng)建表的更改“選項。 當您在 Microsoft Access 中嘗試對表進行某些更改時,可能會收到以下錯

    2024年02月16日
    瀏覽(27)
  • sqlserver數據庫創(chuàng)建自定義數據類型的表

    用戶定義表數據類型是從SQL Server 2008開始提供的一種新功能。 本文主要向大家介紹了SQLServer數據庫之Sqlserver 自定義表類型定義,使用,刪除,通過具體的內容向大家展現,希望對大家學習SQLServer數據庫有所幫助。 在sqlserver數據庫中 創(chuàng)建自定義數據庫類型,并且自定義數據類

    2024年02月06日
    瀏覽(18)
  • mysql如何查詢數據庫里的表

    要在MySQL中查詢數據庫里的所有表,你可以使用 SHOW TABLES 命令。 下面是步驟說明: 登錄MySQL : 使用命令行工具登錄到MySQL數據庫。例如: 選擇要查詢的數據庫 : 使用 USE [數據庫名]; 來選擇你要查詢的數據庫。例如,要選擇名為 sampledb 的數據庫,你可以運行: 查詢數據庫里的

    2024年02月06日
    瀏覽(24)
  • 學生信息數據庫(stusys)的表結構和樣本數據

    學生信息數據庫(stusys)的表結構和樣本數據

    #(1)創(chuàng)建數據庫stuexpm create database stuexpm; #(2)創(chuàng)建studentinfo表,顯示studentinfo表的基本結構 #表4.9 use stuexpm; create table StudentInfo ( StudentID varchar(6) not null primary key comment\\\'學號\\\', Name varchar(8) not null comment\\\'姓名\\\', Sex varchar(2) not null default \\\'男\(zhòng)\\' comment\\\'性別\\\', Birthdar date not null comment\\\'出生

    2024年02月05日
    瀏覽(19)
  • 使用pycharm連接讀取orcl數據庫的表

    使用pycharm連接讀取orcl數據庫的表

    背景:工作需要 需求:使用pycharm訪問遠程oracle類型數據庫的表,表中包含lob字段(這也是個坑?。?麻了,搞了一個星期,終于成功了,真可謂是每步都有坑,看的文章也有小一百篇了,我要及時把自己的踩坑路總結出來,希望對你有用喲~ 下載安裝免費的Pycharm社區(qū)版參見

    2024年01月22日
    瀏覽(21)
  • 幾種常見數據庫的表和列信息查詢

    幾種常見數據庫的表和列信息查詢

    工作中如果和第三方做接口或者抽取數據,經常會用到不同的數據庫的表結構信息以及列信息查詢,本篇將簡單總結一下 oracle,mysql,sqlsever 的表結構信息查詢。 輸出信息包括: 列名稱,列類型,列長度,精度等信息 2.4.1 schemata 數據庫信息 2.4.2 tables表信息 2.4.3 columns列信息 列

    2024年02月08日
    瀏覽(21)
  • django對數據庫中的表進行重新生成

    django對數據庫中的表進行重新生成

    刪除數據庫中的表 刪除項目中migrations包下的初始化文件 進入到manage.py目錄下執(zhí)行命令 python manage.py makemigrations 執(zhí)行完上述命令之后,再執(zhí)行命令 python manage.py migrate 就可以啦 最后執(zhí)行 python manage.py runserver 運行我們的Django項目 關于詳細的數據表生成見博文:https://blog.csdn.n

    2024年02月16日
    瀏覽(17)
  • MySQL中的表與視圖:解密數據庫世界的基石

    MySQL中的表與視圖:解密數據庫世界的基石

    ??作者簡介,黑夜開發(fā)者,CSDN領軍人物,全棧領域優(yōu)質創(chuàng)作者?,CSDN博客專家,阿里云社區(qū)專家博主,2023年6月CSDN上海賽道top4。 ??數年電商行業(yè)從業(yè)經驗,歷任核心研發(fā)工程師,項目技術負責人。 ??本文已收錄于PHP專欄:MySQL的100個知識點。 ??歡迎 ??點贊?評論?收

    2024年02月10日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包