ビッグデータを視覚的に開くために、tableauはHadoopハイブにどのように接続しますか?

序文

Hadoop Hiveは、Hadoopに基づくデータウェアハウスツールであり、構造化データファイルをデータベーステーブルにマッピングし、完全なSQLクエリ関数を提供できます。SQLステートメントは、操作のためにMapReduceタスクに変換でき、学習コストが低いという利点があります。シンプルなMapReduce統計データウェアハウスの統計分析に非常に適した特別なMapReduceアプリケーションを開発する必要なしに、SQLのようなステートメントを介して迅速に実現できます。この記事では、TableauがHadoopHiveに接続する方法とその注意事項について詳しく紹介します。

次のリンクは、基本的な部分と高度なチュートリアルを含む、ブロガーによって注意深く編集されたタブロー学習チュートリアルです。必要な小さなパートナーは、自分でサブスクライブできます。

Tableau Visual DataAnalysisの高度なチュートリアル

https://blog.csdn.net/wenyusuran/category_9596753.html

Tableauビジュアルデータ分析の知識ポイントの詳細

https://blog.csdn.net/wenyusuran/category_9274958.html

 

1.Hadoopの概要


Hadoopが存在する理由は、ビッグデータの保存と計算に適しているためです。Hadoopクラスターは主に2つの部分で構成されています。1つは「データ」を保存および計算するための「ライブラリ」であり、もう1つは保存および計算フレームワークです。

1.1Hadoop分散ファイルシステム

Hadoop分散ファイルシステムは、NTFS、EXT3、EXT4などに似たファイルシステムの実装です。ただし、Hadoop分散ファイルシステムはより高いレベルで構築されています。HDFSに保存されるファイルはブロックに分割されます(各ブロックはデフォルトで64Mであり、通常のファイルシステムブロックよりも多くのマシンに分散され、各ブロックにはより多くのブロックがありますファイルシステムの障害耐性を強化するための冗長バックアップ(デフォルトは3)。このストレージモードは、後続のMapReduce計算モデルを補完します。HDFSの特定の実装には、主に次の部分があります。
 

1.名前ノード(NameNode)

ネームノードの役割は、ファイルシステム全体のメタデータを保存することです。これは非常に重要な役割です。クラスターの起動時にメタデータがメモリに読み込まれ、メタデータへの変更もディスク上のシステムイメージファイルに書き込まれます。同時に、メタデータの編集ログが保持されます。HDFSがファイルを保存する場合、ファイルは保存用の論理ブロックに分割され、対応する関係が名前ノードに保存されます。ファイルが破損している場合、クラスター全体のデータは使用できなくなります。名前ノードディレクトリをローカルディレクトリとNFSディレクトリに同時に設定するなど、名前ノードのメタデータをバックアップするためのいくつかの対策を講じることができます。これにより、メタデータの変更が2つの場所に書き込まれ、冗長バックアップが行われます。2つのディレクトリに冗長に書き込むプロセスはアトミックであるため、使用中のネームノードがダウンした後、NFS上のバックアップファイルを使用してファイルシステムを復元できます。
 

2.セカンダリネームノード(SecondaryNameNode)
の役割は、編集ログを介して名前空間イメージを定期的にマージして、編集ログが大きくなりすぎないようにすることです。ただし、セカンドネームノードのステータスはメインネームノードのステータスよりも遅れています。メインネームノードがダウンした場合、ファイルが失われる可能性があります。
 

3.データノード(DataNode)
これはデータがHDFSに保存される場所です。通常、複数のマシンがあります。ストレージサービスの提供に加えて、保存されたブロックのリストを名前ノードに定期的に送信します。ネームノードは、各ファイルと各ブロックが配置されているデータノードを永続的に保存する必要はありません。この情報は、システムの起動後にデータノードによって再構築されます。

1.2MapReduceコンピューティングフレームワーク


MapReduceコンピューティングフレームワークは分散コンピューティングモデルです。コアは、タスクを小さなタスクに分解し、さまざまな計算機が同時に計算に参加し、各計算機の計算結果を組み合わせて最終結果を取得することです。モデル自体は非常に単純です。通常、実装する必要があるインターフェースは2つだけです。重要なのは、実際の問題をMapReduceタスクに変換する方法です。Hadoopの
MapReduceは、主に次の2つの部分で構成されています。
 

1.ジョブ追跡ノード(JobTracker)
は、タスクのスケジューリング(さまざまなスケジューリング戦略を設定できます)とステータスの追跡を担当します。HDFSの名前ノードに少し似ているJobTrackerも単一のポイントであり、将来のバージョンで改善される可能性があります。
 

2.タスク追跡ノード(TaskTracker)
は、特定のタスクの実行を担当します。TaskTrackerは「ハートビート」メソッドを介してJobTrackerにステータスを通知し、JobTrackerは報告されたステータスに基づいてタスクを割り当てます。TaskTrackerはタスクを実行するために新しいJVMを開始します。もちろん、JVMインスタンスも再利用できます。

 

2.接続の基本条件


Hadoop Hiveは、従来のSQL式とHadoop固有の高度なデータ分析および変換操作を組み合わせてHadoopクラスターデータを利用するテクノロジーです。TableauはHiveを使用してHadoopと連携し、プログラミングなしの環境を提供します。Tableauは、Cloudera、Hortonworks、MapR、およびAmazon EMR(ElasticMapReduce)ディストリビューションに保存されているデータに接続するためのデータソースのHiveおよびHiveODBCドライバーの使用をサポートしています。

2.1Hiveバージョン

以下に、接続の前提条件と外部リソースについて説明します。Hiveサーバーに接続するに
は、次の条件のいずれかが満たされている必要があります。ApacheHadoopCDH3u1以降を含むClouderaディストリビューション(Hive 0.7.1以降を含む)、Hortonworks、MapR Enterprise Edition(M5)、AmazonEMR。

Hive Server 2に接続するには、次の条件のいずれかが満たされている必要があります:
Apache Hadoop CDH4u1を含むClouderaディストリビューション、Hortonworks HDP1.2、Hive0.9以降を搭載したMapREnterprise Edition(M5)、AmazonEMR。さらに、TableauDesktopまたはTableauServerを実行している各コンピューターに正しいHiveODBCドライバーをインストールする必要があります。

2.2ドライバー


HiveServerまたはHiveServer2の場合、Cloudera、Hortonworks、MapR、またはAmazon EMRODBCドライバーをダウンロードして[ドライバー]ページからインストールする必要があります。Cloudera(Hive):
ApacheHive2.5.x用のClouderaODBCドライバー。TableauServer8.0.8以降の場合は、ドライバー2.5.0.1001以降が必要です。

Cloudera(Impala):Impala Hive2.5.x用のClouderaODBCドライバー。ClouderaHadoopでBeeswaxサービスに接続する場合は、TableauWindowsに適したClouderaODBC1.2コネクターを使用する必要があります。

Hortonworks:Hortonworks HiveODBCドライバー1.2.x。

MapR:MapR_odbc_2.1.0_x86.exe以降、またはMapR_odbc_2.1.0_x64.exe以降。

Amazon EMR:HiveODBC.zipまたはImpalaODBC.zip。別のバージョンのドライバーがインストールされている場合は、最初にドライバーをアンインストールしてから、「ドライバー」ページに記載されている対応するバージョンをインストールします。

2.3Hiveサービスを開始する

Hadoopクラスターのターミナルインターフェイスを使用して、次のコマンドを入力します。

hive—service hiverserver


上記のコマンドは、Hadoopターミナルセッションを終了すると終了するため、Hiveサービスを継続的な状態で実行する必要がある場合があります。Hiveサービスをバックグラウンドに移動するには、次のコマンドを入力する必要があります。

nohup HIVE_PORT=10000 hive—service hiveserver &


長期間使用するには、クラスターでHiveを起動するための自動プロセスを構成する必要があります。Derbyは、Hadoopのデフォルトのメタデータストアです。Hiveメタデータには、Hiveテーブルの構造と場所が含まれており、継続的な読み取り/書き込みアクセスを可能にするためにどこかに保存する必要があります。Hiveは、デフォルトでDerbyを使用してメタデータ情報を保持します。

DerbyはHiveの複数のインスタンスの同時使用をサポートできませんが、Tableauなどの外部クライアントの場合、Hiveサービスは単一のアクセスとして実行されます。Hiveサービスは、Derbyメタデータデータベースの単一インスタンスでのみ実行しながら、複数の外部クライアントによる同時アクセスをサポートします。長期的な本番環境でHiveを使用する場合は、PostgreSQLデータベースなどのマルチユーザーメタデータリポジトリの使用を検討できます。これは、TableauがHiveと対話する方法に影響を与えません。

 

3.接続する主な手順


Tableau Desktopで適切なサーバー、Cloudera Hadoop、Hortonworks Hadoop Hive、MapR Hadoop Hive、またはAmazon EMRを選択し、接続に必要な情報を入力します。

3.1 Cloudera Hadoop

スタートページの[接続]の下にあるClouderaHadoopをクリックして、次の手順を実行します。
 

(1)输入承载数据库服务器的名称和端口号,端口号21050是2.5.x驱动程序的默认端口。
(2)在“类型”下拉列表中选择要连接的数据库类型Hive Server、Hive Server2或Impala。
(3)在“身份验证”下拉列表中选择要使用的身份验证方法。
(4)单击“初始SQL”以指定将在连接时运行一次的SQL命令。
(5)单击“登录”按钮

接続に失敗した場合は、ユーザー名とパスワードが正しいことを確認してください。それでも接続に失敗する場合は、コンピューターでサーバーの検索に問題が発生したことを意味します。処理については、ネットワーク管理者またはデータベース管理者に問い合わせる必要があります。

 

3.2 Hortonworks Hadoop Hive


スタートページの[接続]の下にあるHortonworksHadoop Hiveをクリックし、次の手順を実行し
ます。

(1)输入承载数据库的服务器名称。
(2)在“类型”下拉列表中选择要连接的数据库类型Hive Server或Hive Server2。
(3)在“身份验证”下拉列表中选择要使用的身份验证方法。
(4)单击“初始SQL”以指定将在连接时运行一次的SQL命令。
(5)单击“登录”按钮。


接続に失敗した場合は、ユーザー名とパスワードが正しいことを確認してください。それでも接続に失敗する場合は、コンピューターでサーバーの検索に問題が発生したことを意味します。処理については、ネットワーク管理者またはデータベース管理者に問い合わせる必要があります。

 

3.3 MapR Hadoop Hive


スタートページの[接続]の下にある[MapRHadoop Hive]をクリックして、次の手順を実行します。

(1)单击“登录”按钮。
(2)输入承载数据库的服务器名称。在“类型”下拉列表中选择要连接的数据库类型,可以选择Hive Server或Hive Server2。

(3)在“身份验证”下拉列表中选择要使用的身份验证方法。
(4)单击“初始SQL”以指定将在连接时运行一次的SQL命令。
(5)单击“登录”按钮。


接続に失敗した場合は、ユーザー名とパスワードが正しいことを確認してください。それでも接続に失敗する場合は、コンピューターでサーバーの検索に問題が発生したことを意味します。処理については、ネットワーク管理者またはデータベース管理者に問い合わせる必要があります。

4.接続に関する考慮事項


Tableau Desktopは、Hiveに接続するときに、日付/時刻データの既知の制限であるHiveとHadoop(従来のデータベースと比較して)に注意を払う必要があります。

4。1日付/時刻データ


Tableau Desktop 9.0以降のバージョンは、Hiveのタイムスタンプをサポートしており、Tableauはタイムスタンプをネイティブに使用できます。日付/時刻データを文字列としてHiveに保存する場合は、必ずISO形式(YYYY-MM-DD)で保存してください。

Tableau Desktop 9.0以前のバージョンでは、Tableauにはタイムスタンプデータ型のサポートが組み込まれていませんが、これらのバージョンは文字列に格納された日付/時刻データの操作をサポートしています。

データ型を日付/時刻形式に変更する手順:データ抽出を作成し、[データ]ペインのフィールドを右クリックし、[データ型の変更]→[日付]を選択して、文字列に保存されている純粋な日付を使用しますまたは日付/時刻データ、またはDATEPARSE関数を使用して文字列を日付/時刻形式フィールドに変換します。

4.2既知の制限


1.高レイテンシー
Hiveはバッチ指向のシステムであり、短いターンアラウンドタイムで単純なクエリに応答することはできません。この制限により、新しいデータセットの探索や計算フィールドの経験が非常に困難になりますが、いくつかの新しいSQL-on-Hadoopテクノロジーを使用してこの制限を解決できます。
 

2.日付/時刻処理
Hiveは、日付/時刻を表す可能性のある文字列データを計算するための重要な機能を提供し、日付/時刻をネイティブデータ型(タイムスタンプ)として格納するためのサポートを追加します。
 

3.進行状況を照会し、操作をキャンセルします

Hadoop Hiveでのキャンセルは、特にクラスターの一部ではないコンピューターで作業している場合は簡単ではありません。Hiveはキャンセルメカニズムを提供できないため、Tableauによって発行されたクエリは「破棄」することしかできません。クエリを破棄した後、Tableauに進みます。動作しますが、クエリは引き続きクラスター上で実行され、リソースを消費します。

4.本人確認

従来のHiveサーバーの接続の場合、Hive ODBCドライバーは認証操作を表示せず、Hive認証モデルとデータセキュリティモデルは不完全です。TableauServerはそのような場合のデータセキュリティモデルを提供します。Tableauワークブックは、その
方法を示す「ユーザーフィルター」を作成しました。各ビジュアライゼーションのデータを制限するために、TableauServerは、ブラウザーでインタラクティブなビジュアライゼーションにアクセスするユーザーに対して、これらのフィルターが適切に実装されるようにします。

 

5.テスト接続を確認します

Cloudera、Hortonworks、MapR、およびAmazon EMRの最新のODBCドライバーを使用すると、ドライバー構成ユーティリティを使用して、HadoopHiveクラスターへの接続をテストできます。

 

 

おすすめ

転載: blog.csdn.net/wenyusuran/article/details/114869393