Linkis - Apache Linkis は、上位アプリケーションと基盤となるデータエンジン間の接続、ガバナンス、オーケストレーションを容易にするための計算ミドルウェアレイヤーを構築します。

(Apache Linkis builds a computation middleware layer to facilitate connection, governance and orchestration between the upper applications and the underlying data engines.)

Created at: 2019-07-23 14:41:51
Language: Java
License: Apache-2.0

アパッチリンキス

Linkisは、接続を容易にするために計算ミドルウェアレイヤーを構築します。 上位アプリケーションと基盤となるデータエンジン間のガバナンスとオーケストレーション。

https://linkis.apache.org/

ENドキュメント 简体中文文档

GitHub フォーク GitHub スター GitHub の貢献者



英語|中文

紹介

Linkisは、上位アプリケーションと基盤となるエンジンの間に計算ミドルウェアのレイヤーを構築します。Linkisが提供するREST/WS/JDBCなどの標準インターフェースを使用することで、上位アプリケーションはMySQL/Spark/Hive/Presto/Flinkなどの基盤となるエンジンに簡単にアクセスでき、統一変数、スクリプト、UDF、関数、リソースファイルなどのユーザーリソースの相互通信を同時に実現できます。

計算ミドルウェアとして、Linkisは強力な接続、再利用、オーケストレーション、拡張、およびガバナンス機能を提供します。アプリケーション層とエンジン層を分離することで、複雑なネットワーク呼び出し関係が簡素化され、全体的な複雑さが軽減され、開発コストと保守コストも節約されます。

2019年のLinkisの最初のリリース以来、金融、銀行、電気通信から製造所、インターネット企業など、さまざまな業界を含む700以上のトライアル会社と1000 +サンドボックストライアルユーザーを蓄積してきました。多くの企業がすでに、ビッグデータプラットフォームの基礎となる計算およびストレージエンジンの統一された入り口としてLinkisを使用しています。

リンキス-イントロ-01

リンキス-イントロ-03

顔立ち

  • 多様な基礎となる計算ストレージエンジンのサポート

    • 現在サポートされている計算/ストレージエンジン: Spark、Hive、Flink、Python、Pipeline、Sqoop、openLooKeng、Presto、ElasticSearch、JDBC、Shellなど
    • サポートする計算/ストレージエンジン:トリノ(計画1.3.1)、シートンネル(計画1.3.1)など
    • サポートされているスクリプト言語: SparkSQL、HiveQL、Python、Shell、Pyspark、R、Scala および JDBC など
  • 強力なタスク/要求ガバナンス機能Orchestrator、Label Manager、カスタマイズされたSpring Cloud Gatewayなどのサービスにより、Linkisはマルチレベルラベルベース、クロスクラスタ/クロスIDCきめ細かなルーティング、ロードバランス、マルチテナント、トラフィック制御、リソース制御、およびデュアルアクティブ、アクティブスタンバイなどのオーケストレーション戦略を提供できます。

  • フルスタック計算/ストレージエンジンをサポート計算ミドルウェアとして、バッチタスク、インタラクティブクエリタスク、リアルタイムストリーミングタスク、ストレージタスクなど、さまざまな計算ストレージエンジンのタスクと要求を受信、実行、管理します。

  • リソース管理機能ResourceManagerは、YarnおよびLinkis EngineMangerのリソースを管理できるだけでなく、ラベルベースのマルチレベルのリソース割り当てとリサイクルも提供できるため、複数のYarnクラスターと複数の計算リソースタイプにわたる強力なリソース管理機能を利用できます。

  • ユニファイド コンテキスト サービス各タスク/要求のコンテキストIDを生成し、ユーザー、システム、およびコンピューティングエンジン全体で、ユーザーとシステムのリソースファイル(JAR、ZIP、プロパティなど)、結果セット、パラメーター変数、関数などを関連付けて管理します。1か所に設定、どこでも自動参照

  • 統一材料システムおよびユーザーレベルの統合マテリアル管理により、ユーザーおよびシステム間で共有および転送可能

サポートされているエンジンの種類

エンジン名 サポートコンポーネントバージョン(デフォルトの依存バージョン
)
リンキスのバージョン要件 デフォルトでリリースパッケージ
に含まれています
形容
火花 Apache 2.0.0~2.4.7, CDH >= 5.4.0,

(デフォルトは Apache Spark 2.4.3)
>=1.0.3 はい Spark EngineConn、SQL、Scala、Pyspark、Rコードをサポートしています
巣箱 Apache >= 1.0.0, CDH >= 5.4.0,

(デフォルトは Apache Hive 2.3.3)
>=1.0.3 はい Hive EngineConn、HiveQLコードをサポート
ニシキヘビ Python >= 2.6,
(デフォルトは Python2*)
>=1.0.3 はい Python EngineConn、Pythonコードをサポート
バッシュ>= 2.0 >=1.0.3 はい シェルエンジンコン、Bashシェルコードをサポート
ティッカー MySQL >= 5.0、Hive >=1.2.1、
(デフォルトは Hive-jdbc 2.3.4)
>=1.0.3 いいえ JDBC EngineConnは、すでにMySQLとHiveQLをサポートしており、迅速に拡張できます JDBCドライバーパッケージで他のエンジンをサポート(Oracleなど)をサポート
フリンク Flink >= 1.12.2,
(デフォルトは Apache Flink 1.12.2)
>=1.0.3 いいえ Flink EngineConnは、FlinkSQLコードをサポートし、Flink Jarアプリケーションの形式で新しいYarnの起動もサポートしています
パイプライン - >=1.0.3 いいえ パイプラインエンジンコン、ファイルのインポートとエクスポートをサポート
オープンルーケン openLooKeng >= 1.5.0,
(デフォルトは openLookEng 1.5.0)
>=1.1.1 いいえ openLooKeng EngineConn、Sql openLooKeng によるデータ仮想化エンジンのクエリをサポート
スクープ Sqoop >= 1.4.6,
(デフォルトは Apache Sqoop 1.4.6)
>=1.1.2 いいえ スクープエンジンコン、データ移行ツールをサポート スクープエンジン
プレスト プレスト>= 0.180、
(デフォルトプレスト0.234)
>=1.2.0 - Presto EngineConn、Presto SQLコードをサポート
エラスティックサーチ ElasticSearch >=6.0,
(デフォルトは ElasticSearch 7.6.2)
>=1.2.0 - ElasticSearch EngineConn、SQLおよびDSLコードをサポートします
インパラ インパラ >= 3.2.0、CDH > = 6.3.0 進行 中 - Impala EngineConn, Impala SQL コードをサポート
ティッカー MLSQL >=1.1.0 進行 中 - MLSQL EngineConnは、MLSQLコードをサポートしています。
ハドゥープ Apache >=2.6.0,
CDH >=5.4.0
進行 中 - Hadoop EngineConn、Hadoop MR/YARNアプリケーションをサポート
ティスパーク 1.1 進行 中 - TiSpark EngineConn、SparkSQLによるTiDBのクエリをサポート

ダウンロード

Linkis リリースページにアクセスして、コンパイルされたディストリビューションまたは Linkis のソースコードパッケージをダウンロードしてください。

コンパイルと配置

詳細なガイダンスについては、以下を参照してください。

Note: If you want use `-Dlinkis.build.web=true` to build  linkis-web image, you need to compile linkis-web first.

## compile backend
### Mac OS/Linux

# 1. When compiling for the first time, execute the following command first
./mvnw -N install

# 2. make the linkis distribution package
# - Option 1: make the linkis distribution package only
./mvnw clean install -Dmaven.javadoc.skip=true -Dmaven.test.skip=true

# - Option 2: make the linkis distribution package and docker image
#   - Option 2.1: image without mysql jdbc jars
./mvnw clean install -Pdocker -Dmaven.javadoc.skip=true -Dmaven.test.skip=true
#   - Option 2.2: image with mysql jdbc jars
./mvnw clean install -Pdocker -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -Dlinkis.build.with.jdbc=true

# - Option 3: linkis distribution package and docker image (included web)
./mvnw clean install -Pdocker -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -Dlinkis.build.web=true

# - Option 4: linkis distribution package and docker image (included web and ldh (hadoop all in one for test))
./mvnw clean install -Pdocker -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -Dlinkis.build.web=true -Dlinkis.build.ldh=true -Dlinkis.build.with.jdbc=true

### Windows
mvnw.cmd -N install
mvnw.cmd clean install -Dmaven.javadoc.skip=true -Dmaven.test.skip=true

## compile web
cd linkis/linkis-web
npm install
npm run build

MySQL JDBC ドライバにバンドル

MySQL ライセンスの制限により、MySQL Java Database Connectivity (JDBC) ドライバは 公式にリリースされたリンクはデフォルトでイメージです。ただし、現段階では、linkisは正しく機能するためにこのライブラリに依存しています。 この問題を解決するために、公式からmysql jdbcを使用してカスタムイメージを作成するのに役立つスクリプトを提供します Linkis Imageは自分で、このツールによって作成された画像はデフォルトでタグ付けされます。

linkis:with-jdbc

$> LINKIS_IMAGE=linkis:1.3.1 
$> ./linkis-dist/docker/scripts/make-linikis-image-with-mysql-jdbc.sh

展開を行うには、クイック展開を参照してください。

例とガイダンス

Documentation & Vedio

建築

Linkisサービスは、計算ガバナンスサービス、パブリックエンハンスメントサービス、マイクロサービスガバナンスサービスの3つのカテゴリに分類できます。

  • 計算ガバナンスサービスは、タスク/要求を処理する3つの主要な段階をサポートします:送信->準備->実行
  • マテリアルライブラリサービス、コンテキストサービス、データソースサービスなどの公開拡張サービス
  • Spring Cloud Gateway、Eureka、Open Feign などのマイクロサービスガバナンスサービス

以下は、リンキスのアーキテクチャ図です。より詳細なアーキテクチャのドキュメントは、Linkis-Doc/Architectureにあります建築

貢献

貢献は常に歓迎されており、Linkisを一緒に構築するには、より多くの貢献者が必要です。コード、ドキュメント、またはコミュニティに役立つ可能性のあるその他のサポートのいずれか。
コードとドキュメントの貢献については、貢献ガイドに従ってください。

お 問い合わせ

  • ご質問やご提案がございましたら、問題を送信してください。
  • 郵送 dev@linkis.apache.org
  • 以下のQRコードをスキャンしてWeChatグループに参加し、より迅速な応答を得ることができます

微信グループ

リンキスを使用しているのは誰ですか

[誰が Linkis を使用しているか] を発行し、ユーザーがフィードバックを行い、誰が Linkis を使用しているかを記録することができるようにしました。
2019年のLinkisの最初のリリース以来、金融、銀行、電気通信から製造所、インターネット企業など、さまざまな業界を含む700以上のトライアル会社と1000 +サンドボックストライアルユーザーを蓄積してきました。