HBase - Phoenix的安裝使用教程3(SCHEMA的啟用、操作、關閉)


三、SCHEMA 的啟用、操作、關閉

1,啟用 SCHEMA

注意: Phoenix 中將 HBase 的 namespace 叫做 SCHEMA,相當於 mysql 中的庫的概念。

(1)默認 Phoenix 的自定義 SCHEMA 並沒有開啟,需要在 HBase 的 hbase-site.xml 中增加以下配置項,然后重啟 Hbase:

<property>
    <name>phoenix.schema.isNamespaceMappingEnabled</name>
    <value>true</value>
</property>
<property>
    <name>phoenix.schema.mapSystemTablesToNamespace</name>
    <value>true</value>
</property>

2)接着將 hbase/conf 目錄下 hbase-site.xml 文件放到 phoenix 的 bin 目錄下:

cp /home/hbase-2.2.4/conf/hbase-site.xml /home/apache-phoenix-5.0.0-HBase-2.0-bin/bin

2,操作 SCHEMA

(1)下面在 Phoenix Shell 中執行如下命令創建一個名為“s1”的 schema:

注意:在 phoenix 中,默認情況下,庫名,表名,字段名等會自動轉換為大寫,若要小寫,使用雙引號,如"us_population"。

    
CREATE SCHEMA IF NOT EXISTS "s1";

(2)執行如下命令使用這個新建的 schema:

use "s1";

 (3)執行如下命令則使用默認的 schema:

USE DEFAULT;

(4)執行如下命令可以刪除 s1 這個 schema:

注意:確保該 schema 下的表都已刪除,否則該 schema 會刪除失敗。

DROP SCHEMA "s1";

3,關閉 SCHEMA

(1)如果 phoenix 開啟了 SCHEMA,可能會造成許多客戶端無法正常工作,需要將其關閉。首先刪除在 hbase 和 phoenix 的 hbase-site.xml 下設置的關於命名空間啟用的設置。
<property>
    <name>phoenix.schema.isNamespaceMappingEnabled</name>
    <value>true</value>
</property>
<property>
    <name>phoenix.schema.mapSystemTablesToNamespace</name>
    <value>true</value>
</property>

(2)然后重啟 hbase:

./bin/start-hbase.sh
./bin/stop-hbase.sh

(3)接着進入 hbase shell:

./bin/hbase shell

(4)最后依次執行如下命令,修改 hbase 中表 SYSTEM:CATALOG 名為 SYSTEM.CATALOG 即可:

disable 'SYSTEM:CATALOG'
snapshot 'SYSTEM:CATALOG', 'cata_tableSnapshot'
clone_snapshot 'cata_tableSnapshot', 'SYSTEM.CATALOG'
drop 'SYSTEM:CATALOG'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM