Presto をインストールし、Docker で Hive を接続する詳細なプロセス

Presto をインストールし、Docker で Hive を接続する詳細なプロセス

1. はじめに

Presto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブな分析クエリを実行するためのオープン ソースの分散 SQL クエリ エンジンです。 Presto を使用すると、Hive、Cassandra、リレーショナル データベース、さらには独自のデータ ストアなど、データがどこにあってもクエリを実行できます。単一の Presto クエリで複数のソースからのデータを組み合わせることができるため、組織全体にわたる分析が可能になります。

2.ダウンロードしてインストールする

1) 画像をダウンロードする

docker pull starburstdata/presto

2) クライアントjarをダウンロードする

プルされたイメージはサーバーであり、presto-cli コマンドがないため、presto-cli-0.260.1-executable.jar をダウンロードし、ダウンロードした jar パッケージを Linux システムにプルする必要があります。

ダウンロードが完了したら、コンテナを実行します。

#ポート番号は8080です。ご自身で変更してください。名前はprestoです。
docker run -d -p 8080:8080 --name presto starburstdata/presto

クライアント jar パッケージをコンテナ内の bin ディレクトリにコピーします。

docker cp [クライアントjarパッケージが配置されているLinuxパス] [コンテナ名]:/bin

hadoop構成ファイルディレクトリに移動し、core-site.xmlとhdfs-site.xmlをコンテナにコピーします。

${HADOOP_HOME}/etc/hadoop をコピーします。
docker cp core-site.xml presto:/usr/lib/presto/etc/
docker cp core-site.xml presto:/usr/lib/presto/etc/

コンテナに入ります (マークされていない次の操作はすべてコンテナ内で実行されます)。

# 不正なファイル操作を防ぐために、コンテナに root ユーザーとして入ります docker exec --user=root -it presto /bin/bash

クライアント jar パッケージの名前を変更し、実行権限を付与します。

CD ビン
mv presto-cli-0.260.1-executable.jar プレスト cli
chmod a+x プレスト-cli

3. 設定ファイル

構成ファイル ディレクトリに入り、Hive 構成ファイルを作成します。

/usr/lib/presto/etc/catalog をコピーします。
vi hive.properties

hive.properties:

#接続名、固定 connector.name=hive-hadoop2
#hive メタデータ URI は hive-site.xml にあります。IP とポートを自分で変更してください。hive.metastore.uri=thrift://192.168.10.51:9083
#Hive 構成リソース core-site.xml および hdfs-site.xml は、クラスター内の構成ファイル パスに従って、カンマで区切って変更してください。hive.config.resources=/usr/lib/presto/etc/core-site.xml、/usr/lib/presto/etc/hdfs-site.xml

保存して終了

コンテナを再起動します (Linux コマンドラインで):

docker 再起動 presto

4. 接続をテストする

コンテナを入力します:

# 不正なファイル操作を防ぐために、コンテナに root ユーザーとして入ります docker exec --user=root -it presto /bin/bash
#binディレクトリに入る cd bin
#コマンドラインスクリプトを実行してHive接続をテストし、Hive構成ファイルに接続します。データベースはデフォルトです。
./presto-cli --server localhost:8080 --catalog hive --schema default
presto>テーブルを表示;

これで、Hive に接続するために Docker に Presto をインストールする詳細なプロセスに関するこの記事は終了です。Docker に Presto をインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • DockerはClickHouseをインストールし、データテストを初期化します
  • Kali に docker と portainer をインストールする方法
  • Docker Desktop をインストールすると、エラー メッセージが表示されます: WSL 2 のインストールが完了していません (エラー メッセージを解決してください)
  • Docker で onlyoffice をインストールして展開する詳細なプロセス
  • 初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル

<<:  MySQL のファントムリード問題を解決する方法

>>:  JavaScript の絶妙なスネーク実装プロセス

推薦する

Meituan DBデータをデータウェアハウスに同期するアーキテクチャと実践

背景データ ウェアハウス モデリングでは、何ら処理されていない元のビジネス レイヤー データは OD...

Reactでファイルパスエイリアスを素早く設定する方法

React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。F...

MySQL インデックスの原理と最適化の詳細な説明

序文この記事は Meituan の大物によって書かれました。とても素晴らしいので、皆さんと共有したい...

mysql スケジュールタスク (イベント イベント) の詳細な説明

1. イベントの簡単な紹介イベントは、MySQL が特定の時間に呼び出す手続き型データベース オブジ...

Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法

最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...

JavaScript デザインパターン コマンドパターン

コマンド パターンは、JavaScript デザイン パターンにおける動作デザイン パターンです。定...

Docker で Kong API Gateway をインストールして使用する詳細なチュートリアル

1 はじめにKong は単純な製品ではありません。この記事で言及されている Kong は主に Kon...

Vue Elementのテーブルコンポーネントをカプセル化する方法

Vue コンポーネントをカプセル化する場合でも、機能コンポーネントをクロスファンクショナルに使用しま...

JavaScript WeakMap の使い方の詳しい説明

WeakMap オブジェクトは、キーが弱参照であるキー/値のペアのコレクションです。キーはオブジェク...

MySQL ストレステストツール Mysqlslap の使用

1. MySQL独自のストレステストツールMysqlslap mysqlslap は、mysql に...

Ansible を使用した Nginx のバッチ デプロイのサンプル コード

1.1 nginxインストールパッケージとインストールスクリプトをクライアントにコピーし、スクリプト...

MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

問題の説明:構造:テストには2つのフィールドがあります。これらは col1 と col2 で、どちら...

MySQL EXPLAIN ステートメントの使用例

目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...

JavaScript シミュレーション計算機

この記事では、JavaScriptシミュレーション計算機の具体的なコードを参考までに紹介します。具体...

JS の精度外数値問題の解決

精度の問題に対する最もわかりやすい説明たとえば、1÷3=0.33333333...という数字は、3が...