Skip to content

Commit 7c29f41

Browse files
authored
Update scalardb-analytics-spark-sample to support ScalarDB Analytics 3.16 (#81)
1 parent d316464 commit 7c29f41

30 files changed

+361
-166
lines changed
File renamed without changes.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# ScalarDB Analytics Sample
2+
3+
## Setup
4+
5+
### 1. Start services
6+
7+
```bash
8+
docker compose up -d --wait
9+
```
10+
11+
This command will start all services and automatically load sample data on the first run.
12+
13+
### 2. Create catalog
14+
15+
```bash
16+
docker compose run --rm scalardb-analytics-cli catalog create --catalog sample_catalog
17+
```
18+
19+
### 3. Register data sources
20+
21+
```bash
22+
# Register ScalarDB data source
23+
docker compose run --rm scalardb-analytics-cli data-source register --data-source-json /config/data-sources/scalardb.json
24+
25+
# Register PostgreSQL data source
26+
docker compose run --rm scalardb-analytics-cli data-source register --data-source-json /config/data-sources/postgres.json
27+
```
28+
29+
### 4. Run Spark SQL
30+
31+
```bash
32+
docker compose run --rm spark-sql
33+
```
34+
35+
## Query examples
36+
37+
```sql
38+
-- List catalogs
39+
SHOW CATALOGS;
40+
41+
-- Use ScalarDB catalog
42+
USE sample_catalog;
43+
44+
-- Query ScalarDB tables
45+
SELECT * FROM scalardb.mysqlns.orders LIMIT 10;
46+
SELECT * FROM scalardb.cassandrans.lineitem LIMIT 10;
47+
48+
-- Query PostgreSQL tables
49+
SELECT * FROM postgres.public.customer LIMIT 10;
50+
```
51+
52+
## Stop services
53+
54+
```bash
55+
docker compose down
56+
```
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"catalog": "sample_catalog",
3+
"name": "postgres",
4+
"type": "postgres",
5+
"provider": {
6+
"host": "postgres",
7+
"port": 5432,
8+
"username": "postgres",
9+
"password": "postgres",
10+
"database": "sampledb"
11+
}
12+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"catalog": "sample_catalog",
3+
"name": "scalardb",
4+
"type": "scalardb",
5+
"provider": {
6+
"configPath": "/etc/scalardb.properties"
7+
}
8+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# ScalarDB Analytics CLI configuration
2+
scalar.db.analytics.client.server.host=scalardb-analytics-server
3+
scalar.db.analytics.client.server.catalog.port=11051
4+
scalar.db.analytics.client.server.metering.port=11052
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# ScalarDB Analytics Server configuration
2+
3+
# Server ports
4+
scalar.db.analytics.server.catalog.port=11051
5+
scalar.db.analytics.server.metering.port=11052
6+
7+
# Server database configuration (for catalog metadata)
8+
scalar.db.analytics.server.db.url=jdbc:postgresql://analytics-catalog-postgres:5432/catalogdb
9+
scalar.db.analytics.server.db.username=analytics
10+
scalar.db.analytics.server.db.password=analytics
11+
12+
# Server database connection pool configuration
13+
scalar.db.analytics.server.db.pool.size=10
14+
scalar.db.analytics.server.db.pool.max_lifetime=1800000
15+
scalar.db.analytics.server.db.pool.connection_timeout=30000
16+
scalar.db.analytics.server.db.pool.minimum_idle=5
17+
scalar.db.analytics.server.db.pool.idle_timeout=600000
18+
19+
# Metering storage configuration (filesystem for development)
20+
scalar.db.analytics.server.metering.storage.provider=filesystem
21+
scalar.db.analytics.server.metering.storage.path=/tmp/metering
22+
23+
# License configuration (required for production)
24+
# scalar.db.analytics.server.licensing.license_key=<YOUR_LICENSE_KEY>
25+
# scalar.db.analytics.server.licensing.license_check_cert_pem=<YOUR_LICENSE_CERT_PEM>
26+
27+
# Logging configuration
28+
logging.level.root=INFO
29+
logging.level.com.scalar.db.analytics=INFO
30+
31+
# Graceful shutdown configuration
32+
scalar.db.analytics.server.graceful_shutdown_delay_millis=100
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.16.2
2+
spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener
3+
4+
# Use the ScalarDB Analytics catalog as `sample_catalog`
5+
spark.sql.catalog.sample_catalog com.scalar.db.analytics.spark.ScalarDbAnalyticsCatalog
6+
spark.sql.catalog.sample_catalog.server.host scalardb-analytics-server
7+
spark.sql.catalog.sample_catalog.server.catalog.port 11051
8+
spark.sql.catalog.sample_catalog.server.metering.port 11052
9+
10+
spark.sql.defaultCatalog sample_catalog

0 commit comments

Comments
 (0)