CDH HBASE使用solr建立二級索引,更新刪除索引
輸入查詢條件查詢,查詢條件的格式為——》在schema.xml檔案中自定義的field節點name屬性:預查詢的值
8.解除安裝索引 如果想刪除索引,倒著來就可以了 ①鍵入hbase-indexer命令,有delete-indexer和 list-indexers可使用,若忘記了剛剛自己定義的indexer名稱,可使用hbase-indexer list-indexers檢視,然後刪除 hbase-indexer delete-indexer --name test3 ②到Key-Value Store Indexer的配置頁面,把Morphlines檔案中相關配置刪除,也可不刪,等建立其他索引的時候在該基礎上改,或者刪除也可 ③刪除collection,如果忘記名稱,使用solrctl collection --list檢視 solrctl collection --delete test3 ④刪除zk上的配置檔案,忘記名稱,如上檢視 solrctl instancedir --delete test3 ⑤刪除本地配置 rm -rf $HOME/hbase-indexer/test3 9.批量同步索引 ①如果對一個已經存在資料的hbase表做了索引,會發現只記錄了後面插入的資料,已經存在的資料沒有索引。那麼就要將之前的資料的索引同步上。 ②運行同步命令需要在有morphlines.conf檔案的目錄進行。在hbase的master節點上,執行命令: find / |grep morphlines.conf$
③進入最新的那個process目錄/run/cloudera-scm-agent/process/271-ks_indexer-HBASE_INDEXER,執行命令 (如果想不進入目錄執行,則在命令中加上 --morphline-file /run/cloudera-scm-agent/process/271-ks_indexer-HBASE_INDEXER/morphlines.conf,來指定目錄所在位置) hadoop --config /etc/hadoop/conf \ jar /opt/cloudera/parcels/CDH/lib/hbase-solr/tools/hbase-indexer-mr-1.5-cdh5.11.0-job.jar \ --conf /etc/hbase/conf/hbase-site.xml \ --hbase-indexer-file $HOME/hbase-indexer/test/morphline-hbase-mapper.xml \ --zk-host 192.168.60.44:2181/solr \ --collection test \ --reducers0 \ --go-live 注:jar:後面的jar路徑需要檢視所使用的cloudera安裝目錄下的jar包具體名字 --hbase-indexer-file :morphline-hbase-mapper.xml檔案路徑,如果執行命令的節點該檔案不存在,則從存在的機器上覆制過來即可 10.為多個列族多個列做索引 操作順序與上面一致。需要修改的地方是: ①建表時建立多個列族 ②需要做多少個索引,schema.xml中即多寫幾個field欄位 <field name="test4name" type="string" indexed="true" stored="true" /> <field name="test4add" type="string" indexed="true" stored="true" /> ③Morphline 檔案如下配置: SOLR_LOCATOR :{ # Name of solr collection #collection : test3 # ZooKeeper ensemble zkHost :"$ZK_HOST" } morphlines :[ { id : test1Map importCommands :["org.kitesdk.**","com.ngdata.**"] commands :[ { extractHBaseCells { mappings :[ { inputColumn :"c1:name" outputField :"testname" type :string source : value }, { inputColumn :"c1:add" outputField :"testadd" type :string source : value } ] } } { logDebug { format :"output record: {}", args :["@{}"]}} ] }, { id : test2Map importCommands :["org.kitesdk.**","com.ngdata.**"] commands :[ { extractHBaseCells { mappings :[ { inputColumn :"c1:name" outputField :"testname" type :string source : value }, { inputColumn :"c2:add" outputField :"testadd" type :string source : value } ] } } { logDebug { format :"output record: {}", args :["@{}"]}} ] }, { id : test3Map importCommands :["org.kitesdk.**","com.ngdata.**"] commands :[ { extractHBaseCells { mappings :[ { inputColumn :"c1:name" outputField :"test3name" type :string source : value } ] } } { logDebug { format :"output record: {}", args :["@{}"]}} ] }, { id : test4Map importCommands :["org.kitesdk.**","com.ngdata.**"] commands :[ { extractHBaseCells { mappings :[ { inputColumn :"c1:*" outputField :"test4name" type :string source : value }, { inputColumn :"c2:*" outputField :"test4add" type :string source : value } ] } } { logDebug { format :"output record: {}", args :["@{}"]}} ] } ] 注:i.上面的配置中有test1Map,test2Map,test3Map,test4Map共4個Morphline 片段,以id區分,分別對應了4張表。即因為CDH中Morphline.conf檔案只有一個,所以如果對多張表做索引,為了各自區分互不干擾,就這樣配置即可,id就是區分的根據。 ii.上面的某一個配置片段中,有mappings節點,其中可以有若干個{}包含的子節點,每一個子節點就可以配置一列。如上test4Map,對c1,c2的所有欄位做了索引,但是輸出只有2個,並且列名未知,很少這用。如果寫成inputColumn :"c1:a*"則是對以a開頭列做索引;如果寫成inputColumn :"c1:name",則是精確對c1列族的name列做索引。 11.修改,更新索引 這裡分為兩種情況。 ①索引還未建立完成想修改配置,或者索引建立完成,還未插入資料,想修改配置。比如想修改schema.xml,增加一個field欄位,如下操作 修改schema.xml 更新配置檔案; solrctl instancedir --update test4 $HOME/test4 更新collection; solrctl collection --reload test4 如果還想更改Morphline.conf檔案中指定的列族,列名等,修改後重啟Key-Value Store Indexer,然後插入hbase資料即可。 ②如果索引已經建立,已經有了索引資料,想要修改索引,則要先刪除索引資料集,清空資料集可以通過solr API來完成,也可以在命令列中完成,鍵入如下命令: 首先清空該collection; solrctl collection --deletedocs test4 按照上面的操作,修改配置; 但是現在只有新插入的資料才有索引,需要使用上面9.批量同步索引的方法,將以前的資料的索引重新建立好。
相關推薦
CDH HBASE使用solr建立二級索引,更新刪除索引
關於為什麼要建立hbase二級索引,這裡不再贅述,直接開始安裝配置 1.環境準備 ①安裝HBASE,solr,Key-Value Store Indexer,這些在CDH
elasticsearch 5.x 系列之六 文檔索引,更新,查詢,刪除流程
取數 獲取 info ast 負載均衡 blog img 選擇 將在 一、elasticsearch index 索引流程 步驟: 客戶端向Node1 發送索引文檔請求 Node1 根據文檔ID(_id字段)計算出該文檔應該屬於shard0,然後請求路由到Node3的P0分
MongoDB索引管理——創建索引,查看索引,刪除索引,重建索引
大小 exsi ngs 索引 mongodb reat 新建 mon 集合 先給users集合插入兩條記錄,然後用users集合來進行索引管理的演示: > user1={"name":"liming","age":20,"gender":"F"} { "name" :
elasticsearch 索引,更新,增量更新,不停機修改升級 ,簡單使用
elasticsearch 使用 對es瞭解的並不是太多,記錄簡單使用場景。若哪裡不對,還請大人指出 舉例: 根據商品名稱搜尋商品 建立索引 product_v1 為什麼要帶v1呢,後面方便升級 #新增索引 put product_v1?pretty #檢視一下 get _cat
建立單列索引,多列索引
單列索引: CREATE TABLE t_user ( id INT, username VARCHAR(20), PASSWORD VARCHAR(20), INDEX (username) ) 多列索引: CREATE TABLE t_user1 ( id INT
MySQL利用自定義函式和儲存過程建立海量表,並使用索引優化
昨天學習韓順平老師的視訊時明白了上一章explain的意義,為了自己的聯絡,我學著建立了一個海量表,供自己練習使用。 程式碼如下: #建立表DEPT CREATE TABLE dept( /*部門表*/ deptno MEDIUMINT UN
SQL有三個類型的索引,唯一索引 不能有重復,但聚集索引,非聚集索引可以有重復
返回 自動添加 post 設置 span 唯一索引 tca lock 所有 重要: (1) SQL如果創建時候,不指定類型那麽默認是非聚集索引 (2) 聚集索引和非聚集索引都可以有重復記錄,唯一索引不能有重復記錄。 (3) 主鍵 默認是加了唯一約束的聚集索引,但是也可
談聚集索引,非聚集索引及在sqlite使用。
dci 時間 strong ger androi 不等式 cluster ble 類型 聚集索引一個表只能有一個,而非聚集索引一個表可以存在多個。 聚集索引存儲記錄是物理上連續存在,而非聚集索引是邏輯上的連續,物理存儲並不連續。 create clustered index
不建議使用 force index()索引,使用聯合索引就可以解決問題!!!
最近解決mysql慢查詢問題,先把sql大概說明下 select id from table where type = 1 and XX= xx and XX1= xx1 and XX2 = xx2 order by time desc 再說一下背景,
MySQL—2、B-Tree,B+Tree,聚集索引,非聚集索引
今天研究下,mysql中的B-tree索引,通過這篇文章你可以瞭解到,mysql中的btree索引的原理,檢索資料的過程,innodb和myisam引擎中btree索引的不同,以及btree索引的好處和限制。B-Tree 索引是 MySQL 資料庫中使用最為頻繁的索引型別,除
插入更新刪除資料,索引,檢視,建立使用者,修改當前使用者密碼
單表建立檢視:CREATE VIEW 檢視名稱(檢視中的欄位名1,欄位2..) AS SELECT 欄位1,欄位2...FROM 表名 WHERE 條件;多表建立檢視:CREATE VIEW 檢視名稱(檢視中的欄位名1,欄位2..) AS SELECT 欄位1,欄位2...FROM 表1,表2 WHERE 條
12W學習筆記——獨立子查詢,更新,刪除,建立視圖
記錄 date 筆記 獨立 https 清空 名單 sel 方式 查詢的學習進入了最後階段了,接下來我就來介紹一下查詢最後的獨立子查詢。 獨立子查詢基本上都是用SELECT FROM WHERE 三個語句。 例:在學院表、專業表中,查詢人文與管理學院下設各專業的簡稱
pymongo建立索引、更新、刪除
pymongo建立索引、更新、刪除 索引建立
如何修改帶索引的欄位的長度,檢視、刪除索引,修改欄位屬性、建立索引!
需要重新建立索引,因為長度不同會認為是兩個不同的所索引。 建立和刪除索引 索引的建立可以在CREATE TABLE語句中進行,也可以單獨用CREATE INDEX或ALTER TABLE來給表增加索引。刪除索引可以利用ALTER TABLE或DROP INDEX語句來實現。 (1)使用ALTER T
MongoDB建立表步驟,Mongo常用的資料庫操作命令,查詢,新增,更新,刪除_MongoDB 效能監測
->use Admin (切換到建立使用者) ->db.TestDb (建立資料庫) ->db.addUser(“userName”,”Pwd”) 建立使用者 ->db.auth(“userName”,
MongoDB效能篇 -建立索引,組合索引,唯一索引,刪除索引和explain執行計劃
一、索引 MongoDB 提供了多樣性的索引支援,索引資訊被儲存在system.indexes 中,且預設總是為_id建立索引,它的索引使用基本和MySQL 等關係型資料庫一樣。其實可以這樣說說,索引是凌駕於資料儲存系統之上的另一層系統,所以各種結構迥異的儲存都有相同或
oracle資料庫中sql語言建立表,更新,刪除資料
一sql語言的分類 sql語言分為4類:DQL(資料查詢語言),DML(資料操縱語言),資料定義語言(DDL),資料控制語言(DCL)。 二資料定義語言 資料定義語言用於建立,刪除,修改資料庫中的各種物件,物件比如-表,索引,檢視,同義詞、聚簇等 CREATETABLE/
ORACLE索引,索引的建立、修改、刪除
一、簡介 索引是關係資料庫中用於存放每一條記錄的一種物件,主要目的是加快資料的讀取速度和完整性檢查。建立索引是一項技術性要求高的工作。一般在資料庫設計階段的與資料庫結構一道考慮。應用系統的效能直接與索引的合理直接有關 二、 語法 2.1 建立索
sqlserver——建立表,更新表,刪除表。
--建立表 for Eric create table test ( ID int not null identity(1,1) primary key,--identity(初始值,增長值) primary key 設定主鍵 name varchar(50) not n
Mongodb在查詢某個欄位是否存在,執行刪除欄位,python中排序和建立索引
查詢欄位是否存在 查詢course表中,存在lectures_count欄位的記錄資訊 db.course.find( { “lectures.lectures_count”: { $exists: true } } ) 引數:ture或者false 使