Skip to content

Commit e44611e

Browse files
committed
Java:BigData 重命名为 Presto 并简化使用;Presto:新增配置文件;Trino:新增配置文件
1 parent b3cea2c commit e44611e

26 files changed

+83
-144
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ APIJSON-Java-Server/APIJSONDemo-HikariCP/.idea
2020
APIJSON-Java-Server/APIJSONBigData/.settings
2121
APIJSON-Java-Server/APIJSONDemo-BigData/.idea
2222
APIJSON-Java-Server/APIJSONDemo-BigData/target
23+
APIJSON-Java-Server/APIJSONDemo-Presto/.idea
24+
APIJSON-Java-Server/APIJSONDemo-Presto/target

APIJSON-Java-Server/APIJSONDemo-BigData/src/main/java/apijson/demo/DemoSQLExecutor.java

Lines changed: 0 additions & 50 deletions
This file was deleted.

APIJSON-Java-Server/APIJSONDemo-BigData/pom.xml renamed to APIJSON-Java-Server/APIJSONDemo-Presto/pom.xml

Lines changed: 23 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
<groupId>apijson.demo</groupId>
77
<artifactId>apijson-demo</artifactId>
8-
<version>5.3.0</version>
8+
<version>5.4.0</version>
99

10-
<name>APIJSONDemo</name>
10+
<name>APIJSONDemo-Presto</name>
1111
<description>Demo project for testing APIJSON server based on SpringBoot</description>
1212

1313
<properties>
@@ -17,65 +17,43 @@
1717
</properties>
1818

1919
<dependencies>
20-
<!-- JDK 11+ 需要,否则启动报错 NoClassDefFoundError: javax/activation/UnsupportedDataTypeException -->
21-
<dependency>
22-
<groupId>javax.activation</groupId>
23-
<artifactId>activation</artifactId>
24-
<version>1.1.1</version>
25-
</dependency>
20+
<!-- JDK 11+ 需要,否则启动报错 NoClassDefFoundError: javax/activation/UnsupportedDataTypeException -->
21+
<dependency>
22+
<groupId>javax.activation</groupId>
23+
<artifactId>activation</artifactId>
24+
<version>1.1.1</version>
25+
</dependency>
2626

2727
<!-- 需要的 APIJSON 相关依赖 -->
28+
<dependency>
29+
<groupId>com.github.Tencent</groupId>
30+
<artifactId>APIJSON</artifactId>
31+
<version>5.4.0</version>
32+
</dependency>
2833
<dependency>
2934
<groupId>com.github.APIJSON</groupId>
3035
<artifactId>apijson-framework</artifactId>
3136
<version>5.3.0</version>
37+
<exclusions>
38+
<exclusion>
39+
<groupId>com.github.Tecent</groupId>
40+
<artifactId>APIJSON</artifactId>
41+
</exclusion>
42+
</exclusions>
3243
</dependency>
3344

3445
<!-- 需要用的数据库 JDBC 驱动 -->
35-
<!-- <dependency>-->
36-
<!-- <groupId>mysql</groupId>-->
37-
<!-- <artifactId>mysql-connector-java</artifactId>-->
38-
<!-- <version>8.0.29</version>-->
39-
<!-- </dependency>-->
40-
<!-- <dependency>-->
41-
<!-- <groupId>io.trino</groupId>-->
42-
<!-- <artifactId>trino-jdbc</artifactId>-->
43-
<!-- <version>400</version>-->
44-
<!-- </dependency>-->
4546
<dependency>
4647
<groupId>com.facebook.presto</groupId>
4748
<artifactId>presto-jdbc</artifactId>
4849
<version>0.277</version>
4950
</dependency>
5051
<!-- <dependency>-->
51-
<!-- <groupId>com.facebook.presto</groupId>-->
52-
<!-- <artifactId>presto-mysql</artifactId>-->
53-
<!-- <version>0.245</version>-->
54-
<!-- <scope>provided</scope>-->
55-
<!-- <exclusions>-->
56-
<!-- <exclusion>-->
57-
<!-- <groupId>org.slf4j</groupId>-->
58-
<!-- <artifactId>jcl-over-slf4j</artifactId>-->
59-
<!-- </exclusion>-->
60-
<!-- <exclusion>-->
61-
<!-- <groupId>ch.qos.logback</groupId>-->
62-
<!-- <artifactId>logback-classic</artifactId>-->
63-
<!-- </exclusion>-->
64-
<!-- <exclusion>-->
65-
<!-- <groupId>ch.qos.logback</groupId>-->
66-
<!-- <artifactId>logback-classic</artifactId>-->
67-
<!-- </exclusion>-->
68-
<!-- <exclusion>-->
69-
<!-- <groupId>ch.qos.logback</groupId>-->
70-
<!-- <artifactId>logback-examples</artifactId>-->
71-
<!-- </exclusion>-->
72-
<!-- </exclusions>-->
73-
<!-- </dependency>-->
74-
<!-- <dependency>-->
75-
<!-- <groupId>com.facebook.presto</groupId>-->
76-
<!-- <artifactId>presto-client</artifactId>-->
77-
<!-- <version>0.245</version>-->
52+
<!-- <groupId>io.trino</groupId>-->
53+
<!-- <artifactId>trino-jdbc</artifactId>-->
54+
<!-- <version>400</version>-->
7855
<!-- </dependency>-->
56+
7957
<!-- Oracle, SQLServer 等其它数据库的 JDBC 驱动,可以在这里加上 Maven 依赖或 libs 目录放 Jar 包并依赖 -->
8058

8159
<!-- 需要用的 SpringBoot 框架,1.4.0 以上 -->

APIJSON-Java-Server/APIJSONDemo-BigData/src/main/java/apijson/demo/DemoApplication.java renamed to APIJSON-Java-Server/APIJSONDemo-Presto/src/main/java/apijson/demo/DemoApplication.java

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import apijson.framework.APIJSONApplication;
3030
import apijson.framework.APIJSONCreator;
3131
import apijson.orm.SQLConfig;
32-
import apijson.orm.SQLExecutor;
3332

3433

3534
/**
@@ -82,11 +81,6 @@ public void addCorsMappings(CorsRegistry registry) {
8281
public SQLConfig createSQLConfig() {
8382
return new DemoSQLConfig();
8483
}
85-
86-
@Override
87-
public SQLExecutor createSQLExecutor() {
88-
return new DemoSQLExecutor();
89-
}
9084
};
9185

9286
try { //加载驱动程序
@@ -109,37 +103,6 @@ public SQLExecutor createSQLExecutor() {
109103
// Log.e(TAG, "加载 Trino 驱动失败,请检查 pom.xml 中 TrinoDriver 版本是否存在以及可用 !!!");
110104
//}
111105

112-
//// 需要用到的数据库驱动,如果这里没有可以自己新增
113-
//try { //加载驱动程序
114-
// Log.d(TAG, "尝试加载 ClickHouse 驱动 <<<<<<<<<<<<<<<<<<<<< ");
115-
// Class.forName("ru.yandex.clickhouse.ClickHouseDriver");
116-
// Log.d(TAG, "成功加载 ClickHouse 驱动!>>>>>>>>>>>>>>>>>>>>> ");
117-
//}
118-
//catch (ClassNotFoundException e) {
119-
// e.printStackTrace();
120-
// Log.e(TAG, "加载 ClickHouse 驱动失败,请检查 pom.xml 中 ClickHouseDriver 版本是否存在以及可用 !!!");
121-
//}
122-
//
123-
//try { //加载驱动程序
124-
// Log.d(TAG, "尝试加载 Hadoop Hive 驱动 <<<<<<<<<<<<<<<<<<<<< ");
125-
// Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
126-
// Log.d(TAG, "成功加载 Hadoop Hive 驱动!>>>>>>>>>>>>>>>>>>>>> ");
127-
//}
128-
//catch (ClassNotFoundException e) {
129-
// e.printStackTrace();
130-
// Log.e(TAG, "加载 Hive 驱动失败,请检查 pom.xml 中 HiveDriver 版本是否存在以及可用 !!!");
131-
//}
132-
//
133-
//try { //加载驱动程序
134-
// Log.d(TAG, "尝试加载 HBase PhoenixDriver 驱动 <<<<<<<<<<<<<<<<<<<<< ");
135-
// Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
136-
// Log.d(TAG, "成功加载 PhoenixDriver 驱动!>>>>>>>>>>>>>>>>>>>>> ");
137-
//}
138-
//catch (ClassNotFoundException e) {
139-
// e.printStackTrace();
140-
// Log.e(TAG, "加载 HBase PhoenixDriver 驱动失败,请检查 pom.xml 中 PhoenixDriver 版本是否存在以及可用 !!!");
141-
//}
142-
143106
}
144107

145108
}

APIJSON-Java-Server/APIJSONDemo-BigData/src/main/java/apijson/demo/DemoController.java renamed to APIJSON-Java-Server/APIJSONDemo-Presto/src/main/java/apijson/demo/DemoController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@
1414

1515
package apijson.demo;
1616

17-
import java.net.URLDecoder;
18-
import java.util.Map;
19-
20-
import javax.servlet.http.HttpSession;
21-
2217
import org.springframework.web.bind.annotation.GetMapping;
2318
import org.springframework.web.bind.annotation.PathVariable;
2419
import org.springframework.web.bind.annotation.PostMapping;
@@ -27,6 +22,11 @@
2722
import org.springframework.web.bind.annotation.RequestParam;
2823
import org.springframework.web.bind.annotation.RestController;
2924

25+
import java.net.URLDecoder;
26+
import java.util.Map;
27+
28+
import javax.servlet.http.HttpSession;
29+
3030
import apijson.RequestMethod;
3131
import apijson.StringUtil;
3232
import apijson.framework.APIJSONController;

APIJSON-Java-Server/APIJSONDemo-BigData/src/main/java/apijson/demo/DemoSQLConfig.java renamed to APIJSON-Java-Server/APIJSONDemo-Presto/src/main/java/apijson/demo/DemoSQLConfig.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
public class DemoSQLConfig extends APIJSONSQLConfig {
2929

3030
static {
31-
DEFAULT_DATABASE = DATABASE_MYSQL; // TODO 默认数据库类型,改成你自己的
31+
DEFAULT_DATABASE = DATABASE_PRESTO; // TODO 默认数据库类型,改成你自己的
3232
DEFAULT_SCHEMA = "sys"; // TODO 默认数据库名/模式,改成你自己的,默认情况是 MySQL: sys, PostgreSQL: public, SQL Server: dbo, Oracle:
3333

3434
// 表名和数据库不一致的,需要配置映射关系。只使用 APIJSONORM 时才需要;
@@ -44,15 +44,12 @@ public class DemoSQLConfig extends APIJSONSQLConfig {
4444

4545
@Override
4646
public String getDBVersion() {
47-
return "5.7.22"; // "8.0.11"; // TODO 改成你自己的 MySQL 或 PostgreSQL 数据库版本号 // MYSQL 8 和 7 使用的 JDBC 配置不一样
47+
return "8.0.11"; // TODO 改成你自己的 MySQL 或 PostgreSQL 数据库版本号 // MYSQL 8 和 7 使用的 JDBC 配置不一样
4848
}
4949

5050
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息
5151
@Override
5252
public String getDBUri() {
53-
if (isElasticsearch()) {
54-
return "jdbc:es://http://localhost:9200/?timezone=UTC&page.size=250";
55-
}
5653
if (isPresto()) { // Presto 配置文档 https://prestodb.io/docs/current/installation/jdbc.html
5754
return "jdbc:presto://localhost:8099/mysql?SSL=false";
5855
}
@@ -66,12 +63,26 @@ public String getDBUri() {
6663
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息
6764
@Override
6865
public String getDBAccount() {
66+
if (isPresto()) {
67+
return "root";
68+
}
69+
if (isTrino()) {
70+
return "root";
71+
}
72+
6973
return "root"; // TODO 改成你自己的
7074
}
7175

7276
@JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息
7377
@Override
7478
public String getDBPassword() {
79+
if (isPresto()) {
80+
return null;
81+
}
82+
if (isTrino()) {
83+
return null;
84+
}
85+
7586
return "apijson"; // TODO 改成你自己的,TiDB 可以当成 MySQL 使用, 默认密码为空字符串 ""
7687
}
7788

APIJSON-Java-Server/APIJSONDemo-BigData/etc/README.md renamed to Presto/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# PrestoDB 的配置文件 Demo
1+
# Presto(PrestoDB) 的配置文件 Demo
22

33
复制到 Presto Server 源文件根目录,具体参考官方文档:<br />
44

Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
connector.name=postgresql
2-
connection-url=jdbc:postgresql://postgres:5432
2+
connection-url=jdbc:postgresql://localhost:5432
33
connection-user=root
44
connection-password=apijson

Trino/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Trino(PrestoSQL) 的配置文件 Demo
2+
3+
复制到 Trino Server 源文件根目录,具体参考官方文档:<br />
4+
5+
https://trino.io/docs/current/installation/deployment.html

Trino/etc/catalog/hive.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
connector.name=hive-hadoop2
2+
hive.metastore.uri=thrift://hive:9083

Trino/etc/catalog/mongodb.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
connector.name=mongodb
2+
mongodb.seeds=mongodb
3+

Trino/etc/catalog/mysql.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
connector.name=mysql
2+
connection-url=jdbc:mysql://localhost:3306
3+
connection-user=root
4+
connection-password=apijson

Trino/etc/catalog/postgres.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
connector.name=postgresql
2+
connection-url=jdbc:postgresql://localhost:5432
3+
connection-user=root
4+
connection-password=apijson

Trino/etc/catalog/tcph.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
connector.name=tpch

Trino/etc/config.properties

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
coordinator=true
2+
node-scheduler.include-coordinator=true
3+
http-server.http.port=8099
4+
discovery-server.enabled=true
5+
discovery.uri=http://localhost:8099
6+
7+
query.max-memory=500MB
8+
query.max-memory-per-node=200MB

Trino/etc/jvm.config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-Xmx1G
2+
-XX:+UseG1GC
3+
-XX:G1HeapRegionSize=32M
4+
-XX:+UseGCOverheadLimit
5+
-XX:+ExplicitGCInvokesConcurrent

Trino/etc/node.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node.environment=test
2+
node.id=test
3+
node.data-dir=/var/lib/presto/data

0 commit comments

Comments
 (0)