SQLAlchemy dialect for Parseable
Project description
SQLAlchemy Parseable Connector for Apache Superset
A SQLAlchemy dialect and DBAPI implementation for connecting Apache Superset to Parseable, enabling seamless data visualization and analytics of your log data.
Features
- Full SQLAlchemy dialect implementation for Parseable
- Support for timestamp-based queries
- Automatic schema detection
- Support for special characters in table names (e.g., "ingress-nginx")
- Type mapping from Parseable to SQLAlchemy types
- Connection pooling and management
Prerequisites
- Python 3.11.6 or higher
- Apache Superset
- A running Parseable instance
Installation
1. Set Up Python Environment
First, create and activate a Python virtual environment:
python3 -m venv venv
source venv/bin/activate # On Linux/Mac
# or
.\venv\Scripts\activate # On Windows
2. Install and Configure Superset
Install Apache Superset and perform initial setup:
# Install Superset
pip install apache-superset
# Configure Superset
export SUPERSET_SECRET_KEY=your-secure-secret-key
export FLASK_APP=superset
# Initialize the database
superset db upgrade
# Create an admin user
superset fab create-admin
# Load initial data
superset init
3. Install Parseable Connector
Install the Parseable connector in development mode:
cd sqlalchemy-parseable
pip install -e .
Running Superset
Start the Superset development server:
superset run -p 8088 --with-threads --reload --debugger
Access Superset at http://localhost:8088
Connecting to Parseable
- In the Superset UI, go to Data → Databases → + Database
- Select "Other" as the database type
- Use the following SQLAlchemy URI format:
Example:parseable://username:password@host:port/table_nameparseable://admin:admin@demo.parseable.com:443/ingress-nginx
Query Examples
The connector supports standard SQL queries with some Parseable-specific features:
-- Basic query with time range
SELECT method, status, COUNT(*) as count
FROM ingress-nginx
WHERE p_timestamp >= '2024-01-01T00:00:00Z'
AND p_timestamp < '2024-01-02T00:00:00Z'
GROUP BY method, status;
-- Status code analysis
SELECT status, COUNT(*) as count
FROM ingress-nginx
WHERE p_timestamp >= '2024-01-01T00:00:00Z'
GROUP BY status;
Development
The connector implements several key components:
ParseableDialect: SQLAlchemy dialect implementationParseableClient: HTTP client for Parseable APIParseableConnection: DBAPI connection implementationParseableCursor: DBAPI cursor implementation
Features and Limitations
Supported Features
- Query execution with time range filtering
- Schema inspection
- Column type mapping
- Connection testing
- Table existence checking
Current Limitations
- No transaction support (Parseable is append-only)
- No write operations support
- Limited to supported Parseable query operations
Troubleshooting
Common Issues
-
Connection Errors
- Verify Parseable host and port are correct
- Ensure credentials are valid
- Check if table name exists in Parseable
-
Query Errors
- Verify time range format (should be ISO8601)
- Check if column names exist in schema
- Ensure proper quoting for table names with special characters
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sqlalchemy_parseable-0.1.0.tar.gz.
File metadata
- Download URL: sqlalchemy_parseable-0.1.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e9c934f23a94d82f1e372244b2cdffb428b5bc17feb8003bb4790d6ed90d8f5
|
|
| MD5 |
39333f79102039546b4faea30a0d4236
|
|
| BLAKE2b-256 |
9e91506fc03c9998571039a913375a3ba8bea1817d34ea82e9d6814cb1645ac4
|
File details
Details for the file sqlalchemy_parseable-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sqlalchemy_parseable-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
920f1a3be88c8aa1593fe1abaaeba2bd97833f1831695f8caca220503782d2eb
|
|
| MD5 |
abfb6dbaa1c886848bc18ffc72a8454f
|
|
| BLAKE2b-256 |
277efba290c1e8c18234cbdf6d69bce14ffaeb09b3513f964a8a8743081cda51
|