Aegisthus
A Bulk Data Pipeline out of Cassandra
Install / Use
/learn @Netflix/AegisthusREADME
Aegisthus
STATUS
Aegisthus has been archived and will receive no further updates.
OVERVIEW
A Bulk Data Pipeline out of Cassandra. Aegisthus implements a reader for the SSTable format and provides a map/reduce program to create a compacted snapshot of the data contained in a column family.
BUILDING
Aegisthus is built via Gradle (http://www.gradle.org). To build from the command line: ./gradlew build
RUNNING
Please see the wiki or checkout the scripts directory to use our sstable2json wrapper for individual sstables.
TESTING
To run the included tests from the command line: ./gradlew build
ENHANCEMENTS
- Reading
- Commit log readers
- Code to do this previously existed in Aegisthus but was removed in commit 35a05e3f.
- Split compressed input files
- Currently compressed input files are only handled by a single mapper. See the discussion in issue #9. The relevant section of code is in getSSTableSplitsForFile in AegisthusInputFormat.
- Add CQL support
- This way the user doesn't have to add the key and column types as job parameters. Perhaps we will do this by requiring the table schema like SSTableExporter does.
- Commit log readers
- Writing
- Add an option to snappy compress output.
- Add an output format for easier downstream processing.
- See discussion on issue #36.
- Add a pivot format
- Create an output format that contains a column per row. This can be used to support very large rows without having to have all of the columns in memory at one time.
- Packaging
- Publish Aegisthus to Maven Central
- Publish Shaded/Shadowed/FatJar version of Aegisthus as well
LICENSE
Copyright 2013 Netflix, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
