1.Hiveプロフィール
- データウェアハウス
- インタプリタ、コンパイラ、オプティマイザ、など
- 内部のリレーショナルデータベースに格納されているランタイムメタデータ
1.1データベースとデータウェアハウスとの間の差
- データベースは、データウェアハウスを必要としない、すぐに結果を返す必要があります
- さまざまなデータソース、およびデータベースを収容することができ、データ・ウェアハウスは、製品ラインを維持することができ
- データベースを変更することができ、データ・ウェアハウスを変更することはできません
1.2Hive世代
- 非Javaプログラマは、HDFSのデータにMapReduceの操作を行います
2.Hiveアーキテクチャ
2.1チャート図
CLI、クライアントとWUI:(1)3つのユーザー・インターフェースがあります。起動したときに最も一般的に使用されるCLIの一つは、CLIは、同時にハイブのコピーを開始します。ハイブクライアントは、ユーザーがハイブサーバーに接続し、クライアントです。起動時にクライアントモードでは、ハイブServerノードを指摘し、ノードにハイブServerを起動する必要があります。WUIは、ブラウザハイブを介してアクセスされます。
(2)ハイブメタデータは、MySQLの、ダービーとして、データベースに格納されています。ハイブメタデータは、テーブルの名前、およびパーティションのリストとそのプロパティ、プロパティ・シートを含む(か外部表、など)、ディレクトリ、および他のデータテーブル。
(3)インタプリタ、コンパイラ、オプティマイザ完成HQLクエリー字句解析、構文解析、コンパイル、最適化、およびクエリプラン作成から。生成されたクエリプランは、HDFS、MapReduceの中に格納され、その後の実行のために呼ばれています。
(4)HDFSに格納されたハイブデータ、ほとんどのクエリ、マップリデュース(TBLのMapRedcueタスクからSELECTなどを含む*クエリ、*生成されない)完全な計算。
図を用いて説明した2.2転写プロセス。
3.インストールハイブステップの:
3.1のダウンロード、解凍します
wgetののhttp:// mirror.bit.edu.cn/apache/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz
3.2環境変数を変更
vi /etc/profile export HIVE_HOME=/opt/bigdata/hive-2.3.4
将bin目录添加到PATH路径中
3、修改配置文件,进入到/opt/bigdata/hive-2.3.4/conf
mv hive-default.xml.template hive-site.xml
增加配置:
进入到文件之后,将文件原有的配置删除,但是保留最后一行,从<configuration></configuration>
:.,$-1d
增加如下配置信息:
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123</value> </property>
4、添加MySQL的驱动包拷贝到lib目录
5、执行初始化元数据数据库的步骤
schematool -dbType mysql -initSchema
6、执行hive启动对应的服务
7、执行相应的hive SQL的基本操作
4.架构方式
4-1 hive数据架构图
4-2搭建模式(一)单hive形式->自带metastore_db模式{In-memory DB}
4-3搭建模式(二)一个hive 一个数据库模式{三中的模式}
4-3搭建模式(三)远程访问模式
远程访问模式:远程服务器模式 用于非Java客户端访问元数据库,在服务器端启动MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库