Presto簡介


Presto簡介

Presto概念

Presto是一個開源的分布式SQL查詢引擎,數據量支持GB到PB字節,主要用來處理秒級查詢的場景

注意:雖然Presto可以解析SQL,但它不是一個標准的數據庫。不是MySQL、Oracle的代替品,也不能直接用來處理在線事務(OLTP)

Presto架構

image-20210915164442148

Presto的優缺點

優點

  1. Presto基於內存計算,減少了硬盤IO,計算更快。
  2. 能夠連接多個數據源,跨數據源連表查,如從Hive查詢大量網絡訪問計算,然后從MySQL中匹配出設備信息。

缺點

Presto能夠處理PB級別的海量數據分析,但Presto並不是把PB級數據都放在內存中計算的。而是根據場景,如Count,AVG等聚合運算,是邊讀數據邊計算,在清內存,再讀數據再計算,這種消耗的內存並不會很高。但是連表查,就可能產生大量的臨時數據,因此速速就會變得很慢。

Presto、Impala性能比較

Presto、Impala性能比較

Presto Server安裝

下載Presto安裝包

官方地址:https://prestodb.io/

下載安裝包 https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.219/presto-server-0.219.tar.gz

解壓

tar -zxvf presto-server-0.219.tar.gz -C /data/soft/

生成配置

data用於存儲日志、本地元數據等的數據目錄。建議在安裝目錄外創建一個數據目錄。方便后期Presto進行升級。

mkdir /data/presto/data

在安裝目錄中創建/etc文件夾,並創建以下配置

文件名稱 備注
etc/node.properties 節點屬性:特定於每個節點的環境配置
etc/jvm.config JVM Config:Java虛擬機的命令選項
etc/config.properties 配置屬性:Presto服務器的配置
etc/log.properties 日志級別配置文件
  • node.properties

    node.environment=production
    # 每一個節點的id必須唯一
    node.id=presto1
    node.data-dir=/opt/presto/data
    
  • JVM config

    -server
    -Xmx16G
    -XX:+UseG1GC
    -XX:G1HeapRegionSize=32M
    -XX:+UseGCOverheadLimit
    -XX:+ExplicitGCInvokesConcurrent
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+ExitOnOutOfMemoryError
    
  • config.properties(主節點)

    coordinator=true
    node-scheduler.include-coordinator=false
    http-server.http.port=8881
    query.max-memory=50GB
    discovery-server.enabled=true
    discovery.uri=http://bigdata02:8881
    
  • config.properties(從節點)

    coordinator=false
    http-server.http.port=8881
    query.max-memory=50GB
    discovery.uri=http://bigdata02:8881
    
  • log.properties

    com.facebook.presto = INFO
    
  • /etc/catalog/hive.properties

    # 創建catalog文件夾
    mkdir catalog
    # 創建hive.properties
    vi etc/catalog/hive.properties
    加入配置
    connector.name=hive-hadoop2
    hive.metastore.uri=thrift://bigdata02:9083   (替換為自己的hive metastore的ip和端口)
    hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml  (可選,選擇hdfs-site.xml和core-site.xml)
    

    啟動Hive數據源

    nohup hive --service metastore  >/dev/null &   
    

    啟動

    1. 前台啟動(各個節點都需要執行啟動腳本)
    bin/launcher run
    
    1. 后台啟動(各個節點都需要執行啟動腳本)
    bin/launcher start
    

    Presti 命令行Client安裝

    下載Presto的客戶端

    wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.196/presto-cli-0.196-executable.jar
    

    修改后綴名稱

    mv presto-cli-0.196-executable.jar prestocli
    

    添加執行權限

    chmod +x prestocli 
    

    啟動prestocli

    ./prestocli --server bigdata02:8881 --catalog hive --schema default
    

    Presto命令行操作

    Presto的命令行操作,相當於Hive命令行操作。每個表必須加上schema


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM