Hiveのインストールとテーブルの作成
4859 ワード
目次認識Hive 1. 解凍 2. mysql metastoreの構成(rootユーザーに切り替える) MySQL をインストール MySQLパスワードを変更 ログイン 3. hiveの設定 hive-defaultをコピーします.xml.templateファイルをhive-siteと名前を変更します.xml、hive-siteを削除します.xmlのすべてのコンテンツを、 と追加します.
4. hiveとmysqのインストールが完了したら、MySQLの接続jarパッケージを$HIVE_にコピーします.HOME/libディレクトリ下 5. 表を作る hive を起動のデフォルトは内部テーブル です.建分区表 建外部表 6. パーティション表の作成 一般表とパーティション表の違い:大量のデータが増加した場合、パーティション表 を構築する必要がある.パーティションテーブルロードデータ
認識する
HiveはHadoopに基づいて構築された一連のデータウェアハウス分析システムであり、豊富なSQLクエリー方式を提供してHadoop分布式ファイルシステムに格納されたデータを分析し、構造化されたデータファイルを1枚のデータベース表にマッピングすることができ、そして完全なSQLクエリー機能を提供し、SQL文をMapReduceタスクに変換して実行することができ、自分のSQLを通じて分析に必要な内容をクエリーすることができ、このSQLはHive SQLと略称し、MapReduceに慣れていないユーザーは、SQL言語を使用してデータのクエリー、要約、分析を容易に行うことができます.
1.解凍
2.mysql metastoreの構成(rootユーザーに切り替える) MySQL をインストール MySQLパスワードを変更 実行ログイン 3.hiveの構成
4.hiveとmysqのインストールが完了したら、MySQLの接続jarパッケージを$HIVE_にコピーします.HOME/libディレクトリの下
権限のない問題が発生した場合は、MySQLライセンス(mysqlがインストールされているマシンで実行)
5.建表
Hiveの中の1枚の表はHDFSの上の1つのフォルダに対応して、1つのパーティションの対応するファイルの中のサブフォルダ、外部の表はただあるファイルのデータを指して、外部の表を削除してファイルを削除しません. hiveを起動hiveインストールディレクトリのbinディレクトリの下で を実行する.のデフォルトは内部テーブル です.建分区表 建外部表
6.パーティション表の作成一般表とパーティション表の違い:大量のデータが増加した場合、パーティション表 を構築する必要がある.パーティションテーブルロードデータ
認識する
HiveはHadoopに基づいて構築された一連のデータウェアハウス分析システムであり、豊富なSQLクエリー方式を提供してHadoop分布式ファイルシステムに格納されたデータを分析し、構造化されたデータファイルを1枚のデータベース表にマッピングすることができ、そして完全なSQLクエリー機能を提供し、SQL文をMapReduceタスクに変換して実行することができ、自分のSQLを通じて分析に必要な内容をクエリーすることができ、このSQLはHive SQLと略称し、MapReduceに慣れていないユーザーは、SQL言語を使用してデータのクエリー、要約、分析を容易に行うことができます.
1.解凍
tar -zxvf hive-0.9.0.tar.gz -C /home/hadoop/app
2.mysql metastoreの構成(rootユーザーに切り替える)
##rpm
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm
rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm
## , ( mysql-libs-5.1.66-2.el6_3.i686 )
##
##
rpm -qa | grep mysql
##
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
/usr/bin/mysql_secure_installation
(注:匿名のユーザーを削除し、ユーザーのリモート接続を許可)hive-default.xml.template
ファイルをコピーし、hive-site.xml
と名前を変更し、hive-site.xml
のすべてのコンテンツを削除し、次の内容を追加します.
javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
root
password to use against metastore database
4.hiveとmysqのインストールが完了したら、MySQLの接続jarパッケージを$HIVE_にコピーします.HOME/libディレクトリの下
権限のない問題が発生した場合は、MySQLライセンス(mysqlがインストールされているマシンで実行)
## root mysql
mysql -u root
## root ,*.* ,% , root
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
##
grant all on *.* to root@' ' identified by 'root';
5.建表
Hiveの中の1枚の表はHDFSの上の1つのフォルダに対応して、1つのパーティションの対応するファイルの中のサブフォルダ、外部の表はただあるファイルのデータを指して、外部の表を削除してファイルを削除しません.
./hive
#
CREATE DATABASE test;
#
USE test;
#
CREATE TABLE IF NOT EXISTS control_20180815(ordertime STRING, userid STRING, songIndex INT, songid STRING, presource INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\|'
LINES TERMINATED BY '
';
#
#
# hive , |,
LOAD DATA LOCAL INPATH '/home/lmh/testModel/control-20180815' OVERWRITE INTO TABLE control_20180815;
#
#
insert overwrite local directory '/home/lmh/testModel/myexpofen-20180815'
row format delimited fields terminated by '|'
select * from myexpofen_20180815;
create table td_part(id bigint, account string, income double, expenses double, time string) partitioned by (logdate string) row format delimited fields terminated by '\t';
create external table td_ext(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by '\t' location '/td_ext';
6.パーティション表の作成
create table book (id bigint, name string) partitioned by (pubdate string) row format delimited fields terminated by '\t';
## book.txt book
load data local inpath './book.txt' overwrite into table book partition (pubdate='2010-08-22');
load data local inpath '/root/data.am' into table beauty partition (nation="USA");
select nation, avg(size) from beauties group by nation order by avg(size);