<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    ??多源數據技術體系下數據即席查詢的探索與實踐

    VSole2021-11-19 06:39:28

    近年來,隨著大數據技術產品的不斷發展和多樣化,各個應用系統也會依據不同的業務場景選擇多個不同的技術組件,數據也隨之散落在各個存儲平臺之中。這種狀況給后續數據分析師在不同數據源之上進行數據的即席關聯查詢和分析帶來了新的難題,本文介紹了在數據不移動的前提下進行多源數據即席訪問的具體探索與實踐。

    數據即席查詢的現狀及問題

    中國光大銀行傳統數據倉庫體系經過十幾年的發展建設,在技術平臺上也經歷了多次迭代升級,現階段形成了以GuassDB為主的分布式關系型數據庫系統。近年來隨著Hadoop生態體系大數據技術的成熟穩定,光大銀行針對不同的業務場景使用多種新興技術搭建了多套不同功能用途的技術平臺。

    從以前單一的傳統數據倉庫發展到多種數據倉庫技術并行后,各類數據勢必散落在各個不同的技術平臺系統當中。數據分析師想要分析不同數據源的數據時,傳統思路是先要將數據搬挪到某一個數據倉庫平臺中,然后再進行相關業務數據的查詢與分析。數據搬挪時的ETL過程任務繁重、費時、費用昂貴,且不能夠滿足數據分析師對日常業務需求的即時查詢服務。

    為解決多數據源即席查詢的問題,光大銀行進行了相關技術產品的探索和實踐,基于openLooKeng開源技術實現了行內跨源數據的即時查詢和分析。

    通過連接器的架構來適配

    不同的數據源

    光大銀行針對即席查詢的使用場景對市場中的開源產品進行了對比選擇,最終選擇了基于Presto計算引擎開源的技術產品openLooKeng。它是一個開源的分布式SQL查詢引擎,類似于MPP數據庫,用于支持數據探索、即席查詢和批處理,而無需移動數據。引擎可以運行簡單查詢、復雜查詢、聚合、連接和窗口函數,并支持跨源查詢。在整體技術架構層面,它是由一個協調節點和多個工作節點組成的物理集群,對外提供的是SQL查詢服務。

    該查詢引擎通過基于連接器的架構實現了存儲與計算分離,每個連接器將數據源中的數據抽象成一個個的數據表。數據源只要能夠表示為表、列和行,就可以創建連接器讓查詢引擎使用這些數據進行查詢處理,目前支持的連接器不僅包括Hive、GaussDB、MySQL關系型數據庫,還支持連接非關系型的存儲數據源,例如分布式消息隊列Kafka、列式存儲數據庫HBase、全文檢索引擎Elasticsearch。對于同一個數據源中的不同數據庫的訪問,還可以通過配置不同的連接器實例來滿足用戶對于多實例的支持。

    圖1 openLooKeng集群整體架構


    在服務器端程序啟動時,以插件方式加載在Catalog目錄下配置好的各個連接器實例。在生產環境中針對大數據平臺各個物理集群下的Hive數據庫分別配置連接器實例,對GaussDB數據庫中的數據倉庫和各種不同集市數據庫創建不同的連接器實例。終端用戶通過SQL客戶端工具在進行數據查詢時通過完全限定名(catalog-name.schema-name.table-name)來屏蔽數據源的差異性,對不同數據源的表關聯、過濾、聚合等操作。例如,針對Hive數據庫和GaussDB數據庫的跨源關聯查詢可以使用如下語句進行:

    select a.cust_id,a.cust_name,b.account_num

    from gaussdb.test_db.customer a, hive.test_db.account b

    where a.cust_id = b.cust_id

    and a.cust_id = 12345;

    針對不同Hive數據庫租戶

    的實現機制

    光大銀行Hadoop物理集群是以平臺的方式進行搭建,用于數據即席查詢的有批量主集群和數據科學實驗室集群,在每個集群之上啟用了基于Kerberos管理的用戶認證方式,針對使用平臺的不同應用系統會創建獨立的應用租戶,每個租戶有自己獨立管理和使用的Hive數據庫,在管理和查詢的權限上和其他系統租戶相互隔離。

    在Hive連接器的catalog配置中,如果分別對Hive技術組件下不同租戶的數據庫進行配置,需要創建不同的catalog文件,并且每個租戶需要提供底層Hadoop平臺上的Kerberos的keytab秘鑰文件,使用這種配置方式在管理上較為繁雜,并且容易出錯。另外一種較為方便也是光大銀行所使用的配置方式是針對每個Hive數據庫集群只配置一個Hive連接器實例,對底層Hadoop平臺配置的用戶使用的是超級用戶和對應的keytab文件,然后超級用戶使用代理模擬的方式來對Hive數據庫的元數據和HDFS的數據文件進行相關讀取和查詢操作。

    圖2    Hive連接器的訪問機制

    在具體的Hive連接器配置方面,需要配置以下相關參數:

    connector.name=hive-hadoop2

    hive.metastore.uri=thrift://hive-metastore:9083

    hive.metastore.authentication.type=KERBEROS

    hive.metastore.thrift.impersonation.enabled=true

    hive.metastore.service.principal=hive/_HOST@CEBBANK.COM

    hive.metastore.client.principal=hive@CEBBANK.COM

    hive.metastore.client.keytab=hive.keytab

    hive.metastore.krb5.conf.path=krb5.conf

    hive.hdfs.authentication.type=KERBEROS

    hive.hdfs.impersonation.enabled=true

    hive.hdfs.presto.principal=hive@CEBBANK.COM

    hive.hdfs.presto.keytab=hive.keytab

    hive.config.resources=core-site.xml,hdfs-site.xml

    當底層Hadoop集群使用Kerberos進行身份認證時,在openLooKeng中Hive連接器的Thrift服務和HDFS身份驗證服務,都需要配置為使用Kerberos方式進行驗證,此外還需要提供對應的Principal用戶名和Keytab秘鑰文件。對于這兩個配置,光大銀行使用了Hadoop平臺中的超級用戶和其對應的Keytab文件。在通過啟用元數據和HDFS的Impersonation后,即開始了代理模擬的功能,用戶對Hive數據庫發起查詢執行SQL語句時的用戶名會作為該超級用戶所要代理模擬的用戶,具體對于數據庫中表的訪問是否具有權限也完全依賴于這個用戶名對應的用戶在底層Hadoop集群中是否有讀寫權限,在系統安全上并不會因為Catalog中配置了超級用戶而導致用戶查詢時的越權訪問。

    對GaussDB數據庫的

    JDBC訪問機制

    在傳統數據倉庫方面,光大銀行使用的是GaussDB數據庫,它是基于MPP架構,為超大規模的數據管理提供通用的計算平臺。在整個物理集群方面,是由管理節點、控制節點和數據節點組成。終端用戶在發起SQL查詢時,請求會統一發送到Coordinator節點,接收到用戶的請求后會分配服務進程,請求全局事務,根據數據的分布信息及系統元數據將具體任務發送到Datanode進行處理,處理完成后的結果也會統一返回到Coordinator節點,再將結果返回給終端查詢用戶。

    圖3 GaussDB連接器訪問機制

    在openLooKeng連接GaussDB時,使用的是傳統關系型數據庫的JDBC方式進行連接,具體的Catalog實例參數配置信息如下:

    connector.name=opengauss

    connection-url=jdbc:postgresql://192.168.1.101:38910/hetu

    connection-user=hetu

    connection-password=test

    在進行底層數據讀取操作時,終端查詢用戶所擁有的權限是依賴于該Catalog配置中的連接用戶在GaussDB數據庫中的實際權限決定的。受限于JDBC方式訪問GaussDB數據庫的查詢處理機制,查詢所要獲取的數據必須全部經過Coordinator節點進行傳輸,在獲取數據量比較大的情況下,Coordinator節點可能會成為整個并發查詢時的性能瓶頸。

    未來的技術優化與展望

    通過使用openLooKeng對底層不同數據存儲源的集成,基本上解決了數據分析師進行跨源數據關聯查詢分析的功能性問題。但是對于GaussDB這樣的分布式關系型數據庫還是存在單點的性能瓶頸,后續將深入探索JDBC多分片管理以及GaussDB的GDS多分片導出技術來進行并行查詢上的優化。

    同時在終端的查詢用戶和使用JDBC方式連接器的底層用戶之間的權限映射管理上,權限的配置方式還比較簡單,后續將和開源社區一起探索更加細粒度的權限控制,能夠在終端用戶、Catalog連接器、SQL命令、表的各個粒度上都分別能進行各種級別(all,read-only,none)的權限管理和控制。

    大數據hive
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    隨著IT產業爆炸式的發展,數據技術已深入國家戰略、企業發展和個人生活的方方面面。然而隨著數據技術的蓬勃發展,與之伴隨安全方面的研究相對落后,數據的安全問題往往會對國家、政府、企業及個人造成嚴重危害。通過研究已有的數據框架,結合當前國內外最新數據安全標準和法規,設計了一種在數據環境下的安全稽查與風險評估平臺。首先,以研究數據資產監管為基礎,對資產與安全能力進行安全稽查;其次,結合稽查結
    此外,PyDeequ 可以與 Pandas DataFrames 進行流暢的接口,而不是在 Apache Spark DataFrames 內進行限制。Deequ 負責導出要對數據進行計算的所需指標集。Deequ 生成數據質量報告,其中包含約束驗證的結果。包裝器將命令轉換為底層 Deequ 調用并返回它們的響應。
    近年來,隨著數據技術產品的不斷發展和多樣化,各個應用系統也會依據不同的業務場景選擇多個不同的技術組件,數據也隨之散落在各個存儲平臺之中。這種狀況給后續數據分析師在不同數據源之上進行數據的即席關聯查詢和分析帶來了新的難題,本文介紹了在數據不移動的前提下進行多源數據即席訪問的具體探索與實踐。
    當前,以數據、物聯網、人工智能為核心的數字化浪潮正席卷全球,全世界每時每刻都在產生大量的數據,人類產生的數據總量呈指數級增長。面對如此巨大的數據規模,如何采集并進行轉換、存儲以及分析,是人們在數據開發利用過程中面臨的巨大挑戰。其中,數據采集又是所有數據處理行為的前提。
    每天運行導數任務,把現有的千萬量級的底池數據Hive 表)導入到 Clickhouse 中,后續使用 CK 表進行數據篩選。
    行業湖倉一體的建設方案2020年下半年,我們開始探索解決方案,數據湖進入了我們的視線。不難看出,數據湖與數據倉庫兩者雖然能力互補但卻很難直接合并成一套系統。通過采用基于湖倉一體的冷熱數據分層存儲方案,可以有效降低數據的單位存儲成本。2.異構數據統一元數據管理數據湖通過開放底層文件存儲,給數據入湖帶來了極致的靈活性。進入數據湖的數據可以是結構化的文本,也可以是半結構化的網頁,甚至是完全非結構化的圖片。
    但整個體系仍存在5痛點。相當一部分業務數據未采集入倉,數據未能有效利用。數據是AI的基礎,而AI的應用又促進業務產生更多的數據。圖1 平安產險湖倉一體架構圖通過對元數據的統一抽象,實現海量多源異構數據的統一存儲及治理,避免數據在湖倉之間重復存儲,并惡化為數據沼澤。數據湖和數據倉庫采用一體化設計,減少數據加工的鏈路,關鍵業務線加工鏈路時效從1天提升至1小時內。
    自貴州省實施數據戰略以來,全省社會經濟高速發展,通過支付系統貴陽城市處理中心處理的跨行資金交易呈快速增長態勢,如何從海量真實交易數據中提取和分析有效信息,對支付系統貴陽城市處理中心提升工作效率、為貴州省人民銀行系統及地方政府提供管理決策依據等方面都具有重要意義。
    順應網安發展趨勢并響應政策法規,安恒信息針對數據分類分級不斷提高產品專業性。此次安恒AiSort數據安全分級及風險管理平臺產品通過權威測評,充分彰顯安恒信息在數據分類分級方面的專業性及創新性,功能完備成熟,與時俱進,符合并遵循數據安全標準規范,能夠更好地滿足各行各業用戶的需求,為數據安全提供可靠保障。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类