Skip to content

Commit

Permalink
Add support for external engines
Browse files Browse the repository at this point in the history
  • Loading branch information
ryannedolan committed Jan 16, 2025
1 parent aae0587 commit eba9397
Show file tree
Hide file tree
Showing 20 changed files with 1,178 additions and 41 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Once the Flink deployment pod has STATUS 'Running', you can forward port 8081 an
to access the Flink dashboard.

```
$ kubectl port-forward basic-session-deployment-7b94b98b6b-d6jt5 8081 &
$ kubectl port-forward svc/basic-session-deployment-rest 8081 &
```

See the [Flink SQL Gateway Documentation](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/dev/table/sql-gateway/overview/)
Expand Down
4 changes: 3 additions & 1 deletion deploy/docker/flink/docker-compose-sql-gateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ services:
image: flink:1.18.1
restart: unless-stopped
entrypoint: >
/bin/sh -c "./bin/sql-gateway.sh start-foreground -Dsql-gateway.endpoint.rest.address=localhost"
/bin/sh -c "./bin/sql-gateway.sh start-foreground -Dsql-gateway.endpoint.rest.address=localhost -Drest.address=host.docker.internal"
ports:
- 8083:8083
deploy:
resources:
limits:
memory: 1024M
extra_hosts:
- "host.docker.internal:host-gateway"
5 changes: 2 additions & 3 deletions deploy/samples/demodb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ spec:
- profile-database
- ads-database
connector: |
connector = demo
database = {{database}}
table = {{table}}
connector = datagen
number-of-rows = 10
2 changes: 1 addition & 1 deletion deploy/samples/flinkDeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ spec:
imagePullPolicy: Never
flinkVersion: v1_18
flinkConfiguration:
taskmanager.numberOfTaskSlots: "3"
taskmanager.numberOfTaskSlots: "6"
serviceAccount: flink
jobManager:
resource:
Expand Down
8 changes: 8 additions & 0 deletions deploy/samples/flinkengine.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: hoptimator.linkedin.com/v1alpha1
kind: Engine
metadata:
name: flink-engine
spec:
url: jdbc:flink://localhost:8083
dialect: Flink

1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ flink-clients = "org.apache.flink:flink-clients:1.18.1"
flink-connector-base = "org.apache.flink:flink-connector-base:1.18.1"
flink-core = "org.apache.flink:flink-core:1.18.1"
flink-csv = "org.apache.flink:flink-csv:1.18.1"
flink-jdbc = "org.apache.flink:flink-sql-jdbc-driver-bundle:1.18.1"
flink-streaming-java = "org.apache.flink:flink-streaming-java:1.18.1"
flink-table-api-java = "org.apache.flink:flink-table-api-java:1.18.1"
flink-table-api-java-bridge = "org.apache.flink:flink-table-api-java-bridge:1.18.1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ public interface Engine {
DataSource dataSource();

SqlDialect dialect();

String url();
}
1 change: 1 addition & 0 deletions hoptimator-cli/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ dependencies {
implementation libs.calcite.core
implementation libs.sqlline
implementation libs.slf4j.simple
implementation libs.flink.jdbc
}

publishing {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import com.linkedin.hoptimator.Engine;
import com.linkedin.hoptimator.SqlDialect;

import java.util.Objects;

import org.apache.calcite.adapter.jdbc.JdbcSchema;


Expand All @@ -17,7 +19,7 @@ public class K8sEngine implements Engine {

public K8sEngine(String name, String url, SqlDialect dialect, String driver) {
this.name = name;
this.url = url;
this.url = Objects.requireNonNull(url, "url");
this.dialect = dialect;
this.driver = driver;
}
Expand All @@ -33,8 +35,13 @@ public DataSource dataSource() {
return JdbcSchema.dataSource(url, driver, null, null);
}

@Override
public String url() {
return url;
}

@Override
public SqlDialect dialect() {
return SqlDialect.FLINK; // TODO fix hardcoded dialect
return dialect;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.util.Locale;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.sql.DataSource;

import org.apache.calcite.adapter.jdbc.JdbcSchema;
import org.apache.calcite.schema.Schema;
Expand Down
Loading

0 comments on commit eba9397

Please sign in to comment.