Code Monkey home page Code Monkey logo

inlong's Introduction

Apache InLong

Build Status CodeCov Maven Central GitHub release License

What is Apache InLong?

Apache InLong is a one-stop integration framework for massive data that provides automatic, secure and reliable data transmission capabilities. InLong supports both batch and stream data processing at the same time, which offers great power to build data analysis, modeling and other real-time applications based on streaming data.

InLong (应龙) is a divine beast in Chinese mythology who guides the river into the sea, and it is regarded as a metaphor of the InLong system for reporting data streams.

InLong was originally built at Tencent, which has served online businesses for more than 8 years, to support massive data (data scale of more than 80 trillion pieces of data per day) reporting services in big data scenarios. The entire platform has integrated 5 modules: Ingestion, Convergence, Caching, Sorting, and Management, so that the business only needs to provide data sources, data service quality, data landing clusters and data landing formats, that is, the data can be continuously pushed from the source to the target cluster, which greatly meets the data reporting service requirements in the business big data scenario.

For getting more information, please visit our project documentation at https://inlong.apache.org/. inlong-structure-en.png

Features

Apache InLong offers a variety of features:

  • Ease of Use: a SaaS-based service platform. Users can easily and quickly report, transfer, and distribute data by publishing and subscribing to data based on topics.
  • Stability & Reliability: derived from the actual online production environment. It delivers high-performance processing capabilities for 10 trillion-level data streams and highly reliable services for 100 billion-level data streams.
  • Comprehensive Features: supports various types of data access methods and can be integrated with different types of Message Queue (MQ). It also provides real-time data extract, transform, and load (ETL) and sorting capabilities based on rules. InLong also allows users to plug features to extend system capabilities.
  • Service Integration: provides unified system monitoring and alert services. It provides fine-grained metrics to facilitate data visualization. Users can view the running status of queues and topic-based data statistics in a unified data metric platform. Users can also configure the alert service based on their business requirements so that users can be alerted when errors occur.
  • Scalability: adopts a pluggable architecture that allows you to plug modules into the system based on specific protocols. Users can replace components and add features based on their business requirements.

When should I use InLong?

InLong is based on MQ and aims to provide a one-stop, practice-tested module pluggable integration framework for massive data, based on this system, users can easily build stream-based data applications. It is suitable for environments that need to quickly build a data reporting platform, as well as an ultra-large-scale data reporting environment that InLong is very suitable for, and an environment that needs to automatically sort and land the reported data.

You can use InLong in the following ways:

Supported Data Nodes (Updating)

Type Name Version Architecture
Extract Node Auto Push None Standard
File None Standard
Kafka 2.x Lightweight, Standard
MySQL 5.6, 5.7, 8.0.x Lightweight, Standard
MongoDB >= 3.6 Lightweight, Standard
Oracle 11,12,19 Lightweight
PostgreSQL 9.6, 10, 11, 12 Lightweight, Standard
Pulsar 2.8.x Lightweight
SQLServer 2012, 2014, 2016, 2017, 2019 Lightweight, Standard
Load Node Auto Consumption None Standard
Hive 1.x, 2.x, 3.x Lightweight, Standard
Iceberg 0.12.x Lightweight, Standard
ClickHouse 20.7+ Lightweight, Standard
Kafka 2.x Lightweight, Standard
HBase 2.2.x Lightweight, Standard
PostgreSQL 9.6, 10, 11, 12 Lightweight, Standard
Oracle 11, 12, 19 Lightweight, Standard
MySQL 5.6, 5.7, 8.0.x Lightweight, Standard
TDSQL-PostgreSQL 10.17 Lightweight, Standard
Greenplum 4.x, 5.x, 6.x Lightweight, Standard
Elasticsearch 6.x, 7.x Lightweight, Standard
SQLServer 2012, 2014, 2016, 2017, 2019 Lightweight, Standard
HDFS 2.x, 3.x Lightweight, Standard

Build InLong

More detailed instructions can be found at Quick Start section in the documentation.

Requirements:

Compile and install:

mvn clean install -DskipTests

(Optional) Compile using docker image:

docker pull maven:3.6-openjdk-8
docker run -v `pwd`:/inlong  -w /inlong maven:3.6-openjdk-8 mvn clean install -DskipTests

after compile successfully, you could find distribution file at inlong-distribution/target.

Deploy InLong

Develop InLong

Contribute to InLong

Contact Us

Documentation

License

© Contributors Licensed under an Apache-2.0 license.

inlong's People

Contributors

gosonzhang avatar healchow avatar dockerzhang avatar kipshi avatar leezng avatar emsnap avatar tszkitlo40 avatar yunqingmoswu avatar gong avatar woofyzhao avatar baomingyu avatar shink avatar vernedeng avatar luchunliang avatar ciscozhou avatar ganfengtan avatar pocozh avatar technoboy- avatar apocalypsewan avatar bluewang avatar lucaspeng12138 avatar lvjiancheng avatar haifxu avatar fuweng11 avatar kevinwen007 avatar aloyszhang avatar oneal65 avatar pjfanning avatar leosanqing avatar thesumery avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.