Trino
https://github.com/trinodb/trino
项目需要,trino 缺少 dynamic catalog 功能,每次都需要修改 TRINO_HOME/ect/catalog/xxx.properties 文件后重启trino,需要自己添加支持
参考
(1)基于DB改造
(2)官方Dynamic Catalog issue
由于 trino 的一些文件名超长,在 window 下开发会有问题,因为穷,我没有mac…
这里采用的是 idea remote 模式完成开发
idea getaway
ubuntu 环境上开了全局墙,方便从 GitHub 上 clone 代码
vi ~/.profile
export http_proxy=http://192.168.10.130:10811
export https_proxy=http://192.168.10.130:10811
export M2_HOME="/home/xxx/opt/apache-maven-3.9.4"
MAVEN_HOME=xxx
# https://cdn.azul.com/zulu/bin/zulu17.44.17-ca-crac-jdk17.0.8-linux_x64.tar.gz
JAVA_HOME=xxx
build
# trino 使用 maven-wapper 编译的,下载地址在文件内配置
${PROJECT_DIR}/.mvn/wrapper/maven-wrapper.properties
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.zip
# 可以修改为本地文件, 避免外网问题。
distributionUrl=file:///home/xx/.m2/wrapper/dists/apache-maven-3.9.4-bin.zip
# 默认会使用的 maven setting
${USER_HOME}/.m2/settings.xml
# 执行 build,跳过 docs
bash -x ./mvnw clean install -DskipTests -pl '!docs' -am -T 8
# cd到单独模块build
# mvn clean install -DskipTests -T 16
# bash -x ./mvnw clean install -DskipTests -pl 'trino-main' -am -T 8
# -pl '!docs' -am 是为了跳过 docs 模块编译,docs 编译需要使用到 docker,需要配置 docker 代理,略麻烦,这次编译跳过
等待二十分钟左右;
编译好的文件 tar.gz 文件在
${trino_project_path}/core/trino-server/target/trino-server-425.tar.gz
Q:没找到 maven-assembly-plugin 插件配置,但这个文件 core/trino-server/src/main/provisio/trino.xml
又描述了 assembly 配置,有没有大佬研究过指点一下。。。
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for trino-root 425:
[INFO]
[INFO] trino-root ......................................... SUCCESS [ 12.557 s]
[INFO] trino-testing-services ............................. SUCCESS [01:14 min]
[INFO] trino-spi .......................................... SUCCESS [01:17 min]
[INFO] trino-client ....................................... SUCCESS [ 12.149 s]
[INFO] trino-grammar ...................................... SUCCESS [ 30.973 s]
[INFO] trino-cli .......................................... SUCCESS [ 8.156 s]
[INFO] trino-cache ........................................ SUCCESS [ 4.010 s]
[INFO] trino-matching ..................................... SUCCESS [ 16.330 s]
[INFO] trino-plugin-toolkit ............................... SUCCESS [ 12.181 s]
[INFO] trino-array ........................................ SUCCESS [ 4.722 s]
[INFO] trino-geospatial-toolkit ........................... SUCCESS [ 12.171 s]
[INFO] trino-memory-context ............................... SUCCESS [ 15.427 s]
[INFO] trino-parser ....................................... SUCCESS [ 36.538 s]
[INFO] trino-testing-containers ........................... SUCCESS [ 38.993 s]
[INFO] trino-exchange-filesystem .......................... SUCCESS [01:25 min]
[INFO] trino-tpch ......................................... SUCCESS [ 4.984 s]
[INFO] trino-main ......................................... SUCCESS [04:52 min]
[INFO] trino-testing ...................................... SUCCESS [ 34.066 s]
[INFO] trino-blackhole .................................... SUCCESS [ 13.372 s]
[INFO] trino-filesystem ................................... SUCCESS [ 5.925 s]
[INFO] trino-filesystem-s3 ................................ SUCCESS [01:25 min]
[INFO] trino-hadoop-toolkit ............................... SUCCESS [ 5.704 s]
[INFO] trino-hdfs ......................................... SUCCESS [01:00 min]
[INFO] trino-filesystem-manager ........................... SUCCESS [ 8.134 s]
[INFO] trino-hive-formats ................................. SUCCESS [ 34.037 s]
[INFO] trino-orc .......................................... SUCCESS [ 41.546 s]
[INFO] trino-memory ....................................... SUCCESS [ 14.377 s]
[INFO] trino-benchmark .................................... SUCCESS [ 15.368 s]
[INFO] trino-parquet ...................................... SUCCESS [ 28.225 s]
[INFO] trino-tpcds ........................................ SUCCESS [ 6.624 s]
[INFO] trino-hive ......................................... SUCCESS [01:02 min]
[INFO] trino-hive-hadoop2 ................................. SUCCESS [ 37.155 s]
[INFO] trino-password-authenticators ...................... SUCCESS [ 8.342 s]
[INFO] trino-jdbc ......................................... SUCCESS [ 34.676 s]
[INFO] trino-base-jdbc .................................... SUCCESS [ 19.097 s]
[INFO] trino-phoenix5-patched ............................. SUCCESS [01:37 min]
[INFO] trino-phoenix5 ..................................... SUCCESS [ 22.952 s]
[INFO] trino-http-event-listener .......................... SUCCESS [ 5.156 s]
[INFO] trino-redshift ..................................... SUCCESS [ 22.519 s]
[INFO] trino-accumulo-iterators ........................... SUCCESS [ 16.319 s]
[INFO] trino-accumulo ..................................... SUCCESS [ 19.510 s]
[INFO] trino-oracle ....................................... SUCCESS [ 23.628 s]
[INFO] trino-atop ......................................... SUCCESS [ 13.234 s]
[INFO] trino-session-property-managers .................... SUCCESS [ 8.528 s]
[INFO] trino-raptor-legacy ................................ SUCCESS [ 26.045 s]
[INFO] trino-server-main .................................. SUCCESS [ 3.497 s]
[INFO] trino-resource-group-managers ...................... SUCCESS [ 50.651 s]
[INFO] trino-mysql ........................................ SUCCESS [ 8.601 s]
[INFO] trino-record-decoder ............................... SUCCESS [ 16.984 s]
[INFO] trino-kinesis ...................................... SUCCESS [ 22.677 s]
[INFO] trino-hudi ......................................... SUCCESS [ 27.469 s]
[INFO] trino-ml ........................................... SUCCESS [ 12.299 s]
[INFO] trino-ignite ....................................... SUCCESS [ 8.844 s]
[INFO] trino-local-file ................................... SUCCESS [ 14.771 s]
[INFO] trino-testing-kafka ................................ SUCCESS [ 38.675 s]
[INFO] trino-pinot ........................................ SUCCESS [ 34.608 s]
[INFO] trino-example-http ................................. SUCCESS [ 19.399 s]
[INFO] trino-google-sheets ................................ SUCCESS [ 8.336 s]
[INFO] trino-geospatial ................................... SUCCESS [ 15.111 s]
[INFO] trino-mysql-event-listener ......................... SUCCESS [ 16.693 s]
[INFO] trino-druid ........................................ SUCCESS [ 7.571 s]
[INFO] trino-kafka ........................................ SUCCESS [ 18.958 s]
[INFO] trino-exchange-hdfs ................................ SUCCESS [ 9.860 s]
[INFO] trino-jmx .......................................... SUCCESS [ 8.439 s]
[INFO] trino-thrift-api ................................... SUCCESS [ 7.575 s]
[INFO] trino-thrift-testing-server ........................ SUCCESS [01:02 min]
[INFO] trino-thrift ....................................... SUCCESS [ 6.088 s]
[INFO] trino-clickhouse ................................... SUCCESS [ 13.688 s]
[INFO] trino-mongodb ...................................... SUCCESS [ 15.323 s]
[INFO] trino-iceberg ...................................... SUCCESS [01:10 min]
[INFO] trino-postgresql ................................... SUCCESS [ 10.879 s]
[INFO] trino-singlestore .................................. SUCCESS [ 15.089 s]
[INFO] trino-teradata-functions ........................... SUCCESS [ 3.838 s]
[INFO] trino-elasticsearch ................................ SUCCESS [ 19.550 s]
[INFO] trino-kudu ......................................... SUCCESS [ 10.591 s]
[INFO] trino-bigquery ..................................... SUCCESS [ 25.676 s]
[INFO] trino-testing-resources ............................ SUCCESS [ 15.933 s]
[INFO] trino-delta-lake ................................... SUCCESS [ 47.087 s]
[INFO] trino-prometheus ................................... SUCCESS [ 7.686 s]
[INFO] trino-cassandra .................................... SUCCESS [ 22.302 s]
[INFO] trino-sqlserver .................................... SUCCESS [ 16.367 s]
[INFO] trino-mariadb ...................................... SUCCESS [ 14.625 s]
[INFO] trino-redis ........................................ SUCCESS [ 16.593 s]
[INFO] trino-server ....................................... SUCCESS [01:46 min]
[INFO] trino-server-rpm ................................... SUCCESS [01:24 min]
[INFO] trino-filesystem-azure ............................. SUCCESS [ 23.267 s]
[INFO] trino-example-jdbc ................................. SUCCESS [ 5.289 s]
[INFO] trino-proxy ........................................ SUCCESS [ 10.589 s]
[INFO] trino-verifier ..................................... SUCCESS [ 14.785 s]
[INFO] trino-benchmark-queries ............................ SUCCESS [ 15.424 s]
[INFO] trino-benchto-benchmarks ........................... SUCCESS [ 7.869 s]
[INFO] trino-tests ........................................ SUCCESS [ 19.805 s]
[INFO] trino-faulttolerant-tests .......................... SUCCESS [ 5.652 s]
[INFO] trino-plugin-reader ................................ SUCCESS [ 45.003 s]
[INFO] trino-product-tests ................................ SUCCESS [01:30 min]
[INFO] trino-product-tests-launcher ....................... SUCCESS [ 24.141 s]
[INFO] trino-server-dev ................................... SUCCESS [ 20.225 s]
[INFO] trino-test-jdbc-compatibility-old-driver ........... SUCCESS [ 2.128 s]
[INFO] trino-test-jdbc-compatibility-old-server ........... SUCCESS [ 7.629 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16:59 min (Wall Clock)
[INFO] Finished at: 2023-09-04T13:52:28Z
[INFO] ------------------------------------------------------------------------