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

【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino

這篇具有很好參考價(jià)值的文章主要介紹了【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一. Trino CLI

1. 安裝client

Trino CLI提供了一個(gè)基于終端的交互式shell。你可以通過(guò)它運(yùn)行查詢并與Trino服務(wù)端交互來(lái)檢查其元數(shù)據(jù)

下載地址:trino-cli-434-executable.jar

# 下載
 wget -O trino https://repo1.maven.org/maven2/io/trino/trino-cli/434/trino-cli-434-executable.jar

# 添加可執(zhí)行權(quán)限、并將其添加到PATH下,方便使用
chmod +x trino
mv trino ~/bin
export PATH=~/bin/:$PATH

?

2. 使用client執(zhí)行sql

./trino http://trino.example.com:8080

# 幫助文檔
trino> help

Supported commands:
QUIT
EXIT
CLEAR
EXPLAIN [ ( option [, ...] ) ] <query>
    options: FORMAT { TEXT | GRAPHVIZ | JSON }
            TYPE { LOGICAL | DISTRIBUTED | VALIDATE | IO }
DESCRIBE <table>
SHOW COLUMNS FROM <table>
SHOW FUNCTIONS
SHOW CATALOGS [LIKE <pattern>]
SHOW SCHEMAS [FROM <catalog>] [LIKE <pattern>]
SHOW TABLES [FROM <schema>] [LIKE <pattern>]
USE [<catalog>.]<schema>

?
運(yùn)行sql

trino> select *  from "mysql-1".flinkx_test.flinkx_hdfs_log
    -> ;
  id  |       ip        | stamp | url  | refer | useragent |   pid    | uid  | mid  |     insert_time     | create_time | create_date
------+-----------------+-------+------+-------+-----------+----------+------+------+---------------------+-------------+-------------
    1 | NULL            | NULL  | NULL | aaaa  | NULL      | 20221212 | NULL | NULL | 2023-01-31 16:32:09 | NULL        | 2023-01-11
    1 | NULL            | NULL  | NULL | aaaa  | NULL      | 20221212 | NULL | NULL | 2023-01-31 18:37:20 | NULL        | 2023-01-11  

...
(18 rows)

Query 20231206_032803_00000_78prf, FINISHED, 1 node
Splits: 1 total, 1 done (100.00%)
0.67 [18 rows, 0B] [26 rows/s, 0B/s]

?
連接trino時(shí)可以設(shè)置默認(rèn)的catalog(某個(gè)連接實(shí)例)和schema(數(shù)據(jù)庫(kù)),這樣可以直接查詢表。

 ./trino http://localhost:8080/mysql-1/flinkx_test
trino:flinkx_test> show tables;
                        Table
-----------------------------------------------------
 aaa
 aaa_csv111_1
 aaa_csv111_2     
...

?

USE默認(rèn)的catalog和schema,直接查詢此庫(kù)下的表

trino> USE tpch.tiny;
USE
trino:tiny>

?

debug功能

./trino http://localhost:8080/mysql-1/flinkx_test --debug 

trino:flinkx_test> select *  from "mysql-1".flinkx_test.flinkx_hdfs_log
                -> ;
  id  |       ip        | stamp | url  | refer | useragent |   pid    | uid  | mid  |     insert_time     | create_time | create_date
------+-----------------+-------+------+-------+-----------+----------+------+------+---------------------+-------------+-------------
    1 | NULL            | NULL  | NULL | aaaa  | NULL      | 20221212 | NULL | NULL | 2023-01-31 16:32:09 | NULL        | 2023-01-11
    1 | NULL            | NULL  | NULL | aaaa  | NULL      | 20221212 | NULL | NULL | 2023-01-31 18:37:20 | NULL        | 2023-01-11  
...

http://localhost:8080/ui/query.html?20231206_033726_00007_78prf
Splits: 1 total, 1 done (100.00%)
CPU Time: 0.0s total,    3K rows/s,     0B/s, 4% active
Per Node: 0.0 parallelism,    30 rows/s,     0B/s
Parallelism: 0.0
Peak Memory: 64B
0.60 [18 rows, 0B] [30 rows/s, 0B/s]

?
--execute選項(xiàng)

 ./trino http://localhost:8080/mysql-1/flinkx_test --execute 'select *  from "mysql-1".flinkx_test.flinkx_hdfs_log limit 3;'
 
"1","","","","aaaa","","20221212","","","2023-01-31 16:32:09","","2023-01-11"
"1","","","","aaaa","","20221212","","","2023-01-31 18:37:20","","2023-01-11"
"","124.239.193.194","","","","","h_home","","","2023-02-10 10:52:01","",""

?

避免使用完全限定符

# 使用`--catalog`和`--schema`選項(xiàng)來(lái)
./trino http://localhost:8080 --catalog "mysql-1" --schema flinkx_test \
	--execute 'select *  from flinkx_hdfs_log limit 3;'

# 通過(guò)http設(shè)限定符
./trino http://localhost:8080/mysql-1/flinkx_test  \
	--execute 'select *  from flinkx_hdfs_log limit 3;'

?
執(zhí)行多個(gè)sql

trino http://localhost:8080  \
	--execute 'use "mysql-1".flinkx_test;select *  from flinkx_hdfs_log limit 3;'

?
執(zhí)行sql文件

vim trino.sql
use "mysql-1".flinkx_test;
select *  from flinkx_hdfs_log limit 3;


./trino http://localhost:8080  -f trino.sql

?
輸出格式

Trino CLI提供了--output-format選項(xiàng)來(lái)控制如何在非交互模式下顯示輸出,可用的選項(xiàng)有ALIGNED、VERTICAL、TSV、TSV_HEADER、CSV、CSV_HEADER、CSV_UNQUOTED、CSV_HEADER_UNQUOTED、JSON和NULL,默認(rèn)值是CSV。

?
忽略錯(cuò)誤

Trino CLI提供了--ignore-error選項(xiàng)來(lái)忽略執(zhí)行文件中的查詢時(shí)遇到的任何錯(cuò)誤。默認(rèn)行為是在遇到第一個(gè)錯(cuò)誤時(shí)終止執(zhí)行腳本。

?

二. JDBC driver 連接Trino

任何Java應(yīng)用程序都可以通過(guò)Java數(shù)據(jù)庫(kù)連接(JDBC)驅(qū)動(dòng)連接到Trino。通過(guò)JDBC驅(qū)動(dòng),所有這些應(yīng)用程序都可以使用Trino。

Trino的JDBC驅(qū)動(dòng)允許你連接到Trino并使用SQL語(yǔ)句與Trino交互。

如果你熟悉JDBC驅(qū)動(dòng)的不同實(shí)現(xiàn),就知道Trino的JDBC驅(qū)動(dòng)是Type 4驅(qū)動(dòng),這僅僅意味著它直接與Trino原生協(xié)議通信。

?

1. 通過(guò)DBeaver用戶界面連接

【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino,trino,sql,java,數(shù)據(jù)庫(kù)

查看表時(shí)出現(xiàn)如下錯(cuò)誤:
【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino,trino,sql,java,數(shù)據(jù)庫(kù)

需要聲明用戶,默認(rèn)輸入admin、密碼為空
【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino,trino,sql,java,數(shù)據(jù)庫(kù)

重新連接可以看到注冊(cè)的catalog了
【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino,trino,sql,java,數(shù)據(jù)庫(kù)
可以像之前使用DBeaver查看表了。

?

2. JDBC Driver in java

2.1. 環(huán)境配置

需要java 8 或更高
所有通過(guò)JDBC連接Trino的用戶,必須在system.jdbc schema中賦予權(quán)限

maven依賴:

<dependency>
    <groupId>io.trino</groupId>
    <artifactId>trino-jdbc</artifactId>
    <version>434</version>
</dependency>

其他版本地址在:

A list of all available versions can be found in the Maven Central Repository.

客戶端使用http協(xié)議和 Trino client REST API 和Trino進(jìn)行通訊。

?

2.2. 注冊(cè)和配置driver

JDBC URL支持的格式:

jdbc:trino://host:port
jdbc:trino://host:port/catalog
jdbc:trino://host:port/catalog/schema

舉例:

jdbc:trino://example.net:8080/hive/sales

連接example.net上的trino(8080端口),并明確了catalog和schema。

如果trino的驅(qū)動(dòng)識(shí)別不到,則可以顯式聲明:io.trino.jdbc.TrinoDriver。

?

2.3. 連接參數(shù)

聲明方式有如下兩種

// properties
String url = "jdbc:trino://example.net:8080/hive/sales";
Properties properties = new Properties();
properties.setProperty("user", "test");
properties.setProperty("password", "secret");
properties.setProperty("SSL", "true");
Connection connection = DriverManager.getConnection(url, properties);

// URL parameters
String url = "jdbc:trino://example.net:8443/hive/sales?user=test&password=secret&SSL=true";
Connection connection = DriverManager.getConnection(url);

當(dāng)然這兩種方式我們可以混用,有些參數(shù)通過(guò)properties設(shè)置,有些在url中設(shè)置。

完整的參數(shù)見:Parameter reference

?

2.4. 查詢例子

package com.gao;

import java.sql.*;

public class TrinoQueryExample {
    public static void main(String[] args) {
        // Trino數(shù)據(jù)庫(kù)連接信息
        String trinoUrl = "jdbc:trino://xxx:8080";
        String trinoUser = "admin";
        String trinoPassword = "";

        // SQL查詢語(yǔ)句
        String sqlQuery = "select *  from  \"mysql-1\".flinkx_test.flinkx_hdfs_log limit 3";

        try {
            Class.forName("io.trino.jdbc.TrinoDriver");
            // 建立Trino數(shù)據(jù)庫(kù)連接
            Connection connection = DriverManager.getConnection(trinoUrl, trinoUser, trinoPassword);

            // 創(chuàng)建Statement對(duì)象
            Statement statement = connection.createStatement();

            // 執(zhí)行查詢
            ResultSet resultSet = statement.executeQuery(sqlQuery);

            // 處理查詢結(jié)果
            while (resultSet.next()) {
                // 根據(jù)查詢結(jié)果的列名或索引獲取數(shù)據(jù)
                Integer id = resultSet.getInt("id");
                Timestamp create_time = resultSet.getTimestamp("create_time");

                // 處理獲取的數(shù)據(jù)
                System.out.println("id: " + id + ", create_time: " + create_time);
            }

            // 關(guān)閉資源
            resultSet.close();
            statement.close();
            connection.close();

        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
}




id: 1, create_time: null
id: 1, create_time: null
id: 0, create_time: null

?
?
參考:
《trino權(quán)威指南:原書第二版》
trino官網(wǎng):https://trino.io/docs/current/client.html文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756853.html

到了這里,關(guān)于【trino權(quán)威指南】使用trino詳解:trino client安裝、查詢sql、DBeaver連接trino、java通過(guò)JDBC連接trino的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • trino的介紹和安裝使用

    trino的介紹和安裝使用

    最近在研究大數(shù)據(jù)的一些組件和數(shù)據(jù)庫(kù),本來(lái)是要調(diào)研下presto怎么用的,結(jié)果發(fā)現(xiàn)presto因?yàn)閒acebook的關(guān)系,導(dǎo)致presto核心開發(fā)成員離開, 重新開始創(chuàng)建了trino,個(gè)人感覺trino發(fā)展會(huì)更好,因?yàn)樗麄円彩菫榱藙?chuàng)建一個(gè)完全開源的環(huán)境才離開facebook,沒有那么多商業(yè)上的私心,會(huì)更

    2023年04月27日
    瀏覽(15)
  • 《cuda c編程權(quán)威指南》04 - 使用塊和線程索引映射矩陣索引

    《cuda c編程權(quán)威指南》04 - 使用塊和線程索引映射矩陣索引

    目錄 1. 解決的問題 2. 分析 3. 方法 4. 代碼示例 利用塊和線程索引,從全局內(nèi)存中訪問指定的數(shù)據(jù)。 通常情況下, 矩陣 是用行優(yōu)先的方法在 全局內(nèi)存 中線性存儲(chǔ)的。如下。 8列6行矩陣(nx,ny)=(8,6)。 這里建立二維網(wǎng)格(2,3)+二維塊(4,2)為例,使用其塊和線程索引映射矩陣

    2024年02月14日
    瀏覽(19)
  • trino關(guān)于查詢elasticSearch中時(shí)間字段的問題

    trino關(guān)于查詢elasticSearch中時(shí)間字段的問題

    查看官方文檔:Elasticsearch connector — Trino 395 Documentation? 這段話的意思就是,elasticSearch支持很多時(shí)間類型的格式化方式,但是trino中es連接器只支持默認(rèn)的date類型,就是不能加時(shí)間格式化 創(chuàng)建 yc_test_data 索引,索引中包含兩個(gè)屬性create_time 和?name PUT? ?http://10.226.21.38:9200/yc

    2024年02月16日
    瀏覽(20)
  • trino常用語(yǔ)法和官方sql手冊(cè)

    trino常用語(yǔ)法和官方sql手冊(cè)

    trino常用語(yǔ)法 trino數(shù)據(jù)庫(kù)造簡(jiǎn)單表的語(yǔ)法模板 = 沒有分區(qū)的sql 簡(jiǎn)單創(chuàng)建、查詢、插入 =========== create table hive.youyou030310.even( id int, event_type varchar); insert into hive.youyou030310.even(id,event_type) values (1,‘點(diǎn)擊’),(1,‘查看商品’),(1,‘購(gòu)物’),(2,‘點(diǎn)擊’),(2,‘查看商品’),(3,‘點(diǎn)擊’)

    2024年02月05日
    瀏覽(19)
  • 【大數(shù)據(jù)】Presto(Trino)SQL 語(yǔ)法進(jìn)階

    【大數(shù)據(jù)】Presto(Trino)SQL 語(yǔ)法進(jìn)階

    Presto(Trino)是一個(gè)快速、分布式的SQL查詢引擎,可以用于查詢各種數(shù)據(jù)源,包括Hadoop、NoSQL、關(guān)系型數(shù)據(jù)庫(kù)等。下面是Presto(Trino)SQL語(yǔ)法的概述: 它支持標(biāo)準(zhǔn)SQL語(yǔ)法,包括以下SQL命令: SELECT :用于從一個(gè)或多個(gè)表中檢索數(shù)據(jù),指定所需的列和過(guò)濾條件。 FROM :用于指定要

    2024年02月11日
    瀏覽(56)
  • 簡(jiǎn)明SQL條件查詢指南:掌握WHERE實(shí)現(xiàn)數(shù)據(jù)篩選

    簡(jiǎn)明SQL條件查詢指南:掌握WHERE實(shí)現(xiàn)數(shù)據(jù)篩選

    條件查詢是用于從數(shù)據(jù)庫(kù)中根據(jù)特定條件篩選數(shù)據(jù)行的一種方式,它避免了檢索整個(gè)表中的數(shù)據(jù)。通常,使用 WHERE 子句來(lái)定義過(guò)濾條件,只有符合這些條件的數(shù)據(jù)行才會(huì)被返回。 SQL中的運(yùn)算符有:=、!=、、 等,用于進(jìn)行條件判斷。 在邏輯運(yùn)算中,常見的運(yùn)算符包括: and:

    2024年02月09日
    瀏覽(57)
  • SQL中的UNION和UNION ALL的區(qū)別及用法詳解、“提高SQL查詢效率:UNION和UNION ALL的比較、使用實(shí)例詳解SQL中的UNION和UNION ALL操作符

    UNION 和 UNION ALL 都是 SQL 中用于將多個(gè) SELECT 語(yǔ)句的結(jié)果合并成一個(gè)結(jié)果集的操作符。它們都適用于需要將多個(gè)表或查詢結(jié)果合并在一起的情況。但是它們的行為略有不同。 UNION 和 UNION ALL 的區(qū)別在于, UNION 會(huì)將結(jié)果集合并成一個(gè)不含重復(fù)行的結(jié)果集,而 UNION ALL 則會(huì)保留所有

    2024年02月03日
    瀏覽(45)
  • Elasticsearch權(quán)威指南

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) Elasticsearch是一個(gè)基于Lucene構(gòu)建的開源搜索引擎,它提供了一個(gè)分布式、高擴(kuò)展性、可靠、快速、精準(zhǔn)的全文檢索解決方案。它的主要特點(diǎn)包括: 分布式架構(gòu):集群中每一個(gè)節(jié)點(diǎn)都存儲(chǔ)數(shù)據(jù)并且可以同時(shí)被索引和搜索; RESTful API:Elasticsearch通過(guò)

    2024年02月07日
    瀏覽(22)
  • 《Kafka權(quán)威指南》讀書筆記

    《Kafka權(quán)威指南》讀書筆記

    《Kafka權(quán)威指南》第一、三、四、六章,是重點(diǎn)??梢远嗫纯?。 kafka是一個(gè)發(fā)布與訂閱消息系統(tǒng) 消息:kafka的數(shù)據(jù)單元稱為\\\"消息\\\"??梢园严⒖闯墒菙?shù)據(jù)庫(kù)中的一個(gè)\\\"數(shù)據(jù)行\(zhòng)\\"。 消息的key:為key生成一個(gè)一致性散列值(HashCode),然后使用散列值對(duì)主題分區(qū)數(shù)進(jìn)行取模,為消息選

    2024年02月04日
    瀏覽(20)
  • Zookeeper 權(quán)威指南

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 1997年,Apache發(fā)布了ZooKeeper項(xiàng)目,基于Google的Chubby論文,解決分布式協(xié)調(diào)服務(wù)問題。ZooKeeper是一種開源的分布式協(xié)調(diào)服務(wù),它是一個(gè)高效且可靠的分布式數(shù)據(jù)管理框架。其目標(biāo)就是構(gòu)建一個(gè)簡(jiǎn)單而健壯的分布式數(shù)據(jù)管理系統(tǒng)。 ZooKeeper通過(guò)一組簡(jiǎn)

    2024年02月09日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包