ハイブ研究ノート(3)-シェルコマンドライン

1つのハイブと非対話型モードのコマンドライン

  1. hive -e:セミコロンなしでコマンドラインから指定されたHQLを実行します。
hive -e ‘select * from dumy limit 100>a.txt
  1. hive -f:HQLフットを実行します
hive -f /home/my/hive-script.sql

3)hive -i:Hiveインタラクティブシェルに入るときに、最初にスクリプトでHQLステートメントを実行します

hive -i /home/my/hive-init.sql 

4)hive -v:実行されたHQLステートメントを追加で出力する冗長詳細;
5)hive -S:サイレントスリエントモード、MR-Jobの変換情報を表示せず、最終結果のみを表示します

hive -S -e ‘select * from student

6)hive --hiveconf <property = value>:指定されたプロパティの値を使用します

HIVE_HOME/bin/hive --hiveconf mapred.reduce.tasks=2 //启动时,配置reduce个数2(只在此session中有效)

7)hive --service serviceName:サービスを開始します

hvie --service hiveserver2

8)ハイブ[–データベーステスト]:CLIインタラクティブインターフェイスに入り、デフォルトでデフォルトデータベースを入力します。[]コンテンツをテストデータベースに直接追加します。

hive --database test

2. Hiveインタラクティブモードのコマンド:

quit / exit:CLIを終了します

reset:すべての構成パラメーターをリセットし、hive-site.xmlの構成に初期化します。前と同じように、setコマンドを使用してreduceの数を設定します。

set <key>=<value>:Hiveランタイム構成パラメーターを設定します。優先度が最も高く、同じキーです。次の設定は以前の設定を上書きします。

set –v:すべてのHive構成パラメーターとHadoop構成パラメーターを出力します。

//找出和"mapred.reduce.tasks"相关的设置
hive -e 'set -v;' | grep mapred.reduce.tasks

addコマンド:add File [S] / Jar [S] / Archive [S] *を含め、1つ以上のファイル、jarパッケージ、またはアーカイブをDistributeCacheに追加します。追加後、MapおよびReduceタスクで使用できます。たとえば、udf関数をカスタマイズしてjarパッケージに入力する場合は、関数を作成する前にadd jarコマンドを使用してjarパッケージを追加する必要があります。そうしないと、クラスが見つからないというエラーが報告されます。

list 命令:リストFile [S] / Jar [S] / Archive [S]を含みます。現在のDistributeCache内のファイル、jarパッケージ、またはアーカイブを一覧表示します。

delete 命令:ファイル[S] /ジャー[S] /アーカイブ[S]の削除を含めます*。DistributeCacheからファイルを削除します。

//将file加入缓冲区
add file /root/test/sql;
//列出当前缓冲区内的文件
list file;
//删除缓存区内的指定file
delete file /root/test/sql;

create命令:カスタム関数を作成します:hive>一時関数udfTestを「com.cstore.udfExample」として作成します。

source <filepath>:CLIでスクリプトファイルを実行します。

//相当于[root@ncst test]# hive -S -f /root/test/sql
hive> source /root/test/sql; 

!:CLIでLinuxコマンドを実行します。

dfs:CLIでhdfsコマンドを実行します

3.クエリ結果を保存する3つの方法:

hive -S -e 'select * from dummy' > a.txt //分隔符和hive数据文件的分隔符相同
[root@hadoop01 ~]# hive -S -e "insert overwrite local directory '/root/hive/a'\ 
>  row format delimited fields terminated by '\t' --分隔符\t
>  select * from logs sort by te" 
--使用hdfs命令导出整个表数据
hdfs dfs -get /hive/warehouse/hive01 /root/test/hive01 

4.Hiveクラスター間でのインポートとエクスポート

[エクスポート]コマンドを使用して、Hiveテーブルのデータテーブルデータとデータテーブルに対応するメタデータをエクスポートします。

--导出命令
EXPORT TABLE test TO '/hive/test_export'

--dfs命令查看
hdfs dfs -ls /hive/test_export

--结果显示
/hive/test_export/_metadata
/hive/test_export/data

Importコマンドを使用して、エクスポートされたデータをハイブに再インポートします(インポートされたテーブルの名前を変更する必要があります)

--导入到内部表的命令
IMPORT TABLE data_managed FROM '/hive/test_export'

--导入到外部表的命令
Import External Table data_external From '/hive/test_export' Location '/hive/external/data'

--验证是否是外部表
desc formatted data_external

5.ハイブ-JDBC / ODBC

Hive jarパッケージでは、「org.apache.hadoop.hive.jdbc.HiveDriver」がJDBCインターフェースの提供を担当します。このパッケージを使用すると、クライアントプログラムはHiveをデータベースとして使用できます。ほとんどの操作は従来の操作とは異なります。データベースの操作は同じです。Hiveを使用すると、JDBCプロトコルをサポートするアプリケーションがHiveに接続できます。Hiveが指定されたポートでhiveserverサービスを開始すると、クライアントはJavaのThriftを介してHiveサーバーと通信します。プロセスは次のとおりです。

1.ハイブサーバーサービスをオンにします。

$ hive –service hiveserver 50000(50000)  

2.Hiveとの接続を確立します。

Class.forName(“org.apache.hadoop.hive.jdbc.HiveDriver”);  

Connectioncon=DriverManager.getConnection(“jdbc:hive://ip:50000/default,”hive”,”hadoop”) 

デフォルトでは、デフォルトのデータベースにのみ接続できます。上記の2行のコードを介して接続が確立された後、他の操作は従来のデータベースと大差ありません。

3. HiveのJDBCドライバーはまだ成熟しておらず、すべてのJDBCAPIをサポートしているわけではありません。

6.HiveWebインターフェース

1.配置hive-site.xml

  <property>
        <name>hive.hwi.war.file</name>
        <value>lib/hive-hwi-0.8.1.war</value>
        <description>This sets the path to the HWI war file, relative to ${HIVE_HOME}.</description>    
        </property>
        
        <property>
        <name>hive.hwi.listen.host</name>
        <value>0.0.0.0</value>
        <description>This is the host address the Hive Web Interface will listen on</description>
        </property>
        
        <property>
        <name>hive.hwi.listen.port</name>
        <value>9999</value>
        <description>This is the port the Hive Web Interface will listen on</description>
        </property>

2. HiveWebサービスを開始します。
  hive --service hwi

ブラウザのアドレスを入力します。3.:http://host_name:9999/hwi訪問

4. [セッションの作成]をクリックしてセッションを作成し、クエリにクエリステートメントを入力します

7.Hive作成データベース

ハイブが開始された後、デフォルトでデフォルトのデータベースがあります。または、新しいデータベースを人為的に作成することもできます。次のコマンドを実行します。

--手动指定存储位置
create database hive02 location '/hive/hive02';

--添加其他信息(创建时间及数据库备注)
create database hive03 comment 'it is my first database' with dbproperties('creator'='kafka','date'='2015-08-08');

--查看数据库的详细信息
describe database hive03;
--更详细的查看
describe database extended hive03; 
--最优的查看数据库结构的命令
describe database formatted hive03;

--database只能修改dbproperties里面内容
alter database hive03 set dbproperties('edited-by'='hanmeimei');

出典:https//www.cnblogs.com/skyl/p/4736129.html

おすすめ

転載: blog.csdn.net/u013963379/article/details/90143507