Hbase Indexer索引器的配置

2021-09-10 03:43:38 字數 2635 閱讀 8787

最基本的索引器配置只需要表名和單個字段。

但是,可以在索引器配置檔案中使用許多配置設定來自定義行為。

以下是可以在索引器配置中的頂級元素上設定的屬性列表。

table屬性指定索引器要索引的hbase表的名稱。它是

索引器元素中唯一的必需屬性。

基於行的索引將單個hbase行中的所有資料視為solr中單個文件的輸入。這種索引將用於hbase表,該錶在每行中包含乙個單獨的實體,例如包含

使用者的表。

基於列的索引將每個hbase單元視為solr中單個文件的輸入。該方法可以用於例如

訊息傳送平台

中,其中單個使用者的訊息全部儲存在單個行中,每個訊息儲存在單獨的單元中。

預設的對映型別值是row。

read-row屬性有兩個可能的值:dynamic或never。

只有在使用基於行的索引時,此屬性才有用

。它指定索引器是否應重新讀取hbase中的資料以執行索引。

設定為「dynamic」時,如果在hbase中執行對行的部分更新,則索引器將從行中讀取必要的資料。在動態模式下,如果行更新中包含執行索引所需的所有資料,則不會重新讀取該行。

如果此屬性設定為never,則索引器將永遠不會重新讀取行。

預設設定為「動態」。

unique-key-formatter屬性

指定用於將hbase行鍵(以及列族和列限定符)格式化為文字的類的名稱

。solr中需要索引這些資訊的文字表示,因為solr中的所有資料都是文字的,但行鍵,列族和列限定符是位元組陣列。

unique-key-formatter類必須實現該com.ngdata.hbaseindexer.uniquekey.uniquekeyformatter介面。此屬性的預設值為com.ngdata.hbaseindexer.uniquekey.stringuniquekeyformatter。

stringuniquekey格式化程式只是將行鍵和其他位元組陣列視為字串。如果您的行鍵,列族或限定符不能簡單地用作字串,請考慮使用com.ngdata.hbaseindexer.uniquekey.hexuniquekeyformatter。

此屬性指定solr中使用的文件識別符號欄位的名稱。該字段的預設值為「id」。

row-field屬性

指定用於儲存hbase行鍵的solr欄位的名稱。

此字段僅在執行基於列的索引時很重要。為了使索引器能夠從索引中刪除單行的所有文件,它需要能夠在solr中找到該行的所有文件。在索引器定義中填充此屬性時,它的值將用作solr中用於儲存編碼行鍵的字段的名稱。

預設情況下,此屬性為空,表示行鍵未儲存在solr中。這樣做的結果是刪除hbase中的完整行或完整列族不會刪除solr中的索引文件。

column-family-field

指定用於儲存hbase列系列名稱的solr欄位的名稱

。預設情況下,此屬性為空,因此列族名稱不會儲存在solr中。

table-name-field指定solr欄位的名稱,該欄位用於儲存

儲存記錄的hbase表的名稱。

預設情況下,此屬性為空,因此除非在索引器配置中顯式設定此設定,否則不會儲存hbase表的名稱。

可以在索引器配置中使用三種型別的元素:,和。

field元素定義要在solr中索引的單個字段,以及從hbase獲取和解釋其內容的位置。索引器配置中通常會列出乙個或多個字段 - 每個字段用於儲存每個solr欄位。

field屬性有四個屬性

,如下所示。

名稱

name屬性指定用於儲存資料的solr欄位的名稱。應在solr模式中定義具有匹配名稱的字段。name屬性是必需的。

value屬性指定要從hbase中使用的資料,以填充solr中的字段。它採用列族名稱和限定符的形式,用冒號分隔。

限定符部分可以以星號結尾,星號被解釋為萬用字元。在這種情況下,將使用所有匹配的列族和限定符表示式。

以下是有效值屬性的示例:

mycolumnfamily:myqualifier

mycolumnfamily:我*

mycolumnfamily:*

資源

source屬性確定hbase keyvalue的哪個部分將用作索引內容。

它有兩個可能的值:值和限定符。

指定值時(預設情況下是這種情況),單元格值將用作索引的輸入。

指定限定符時,列限定符將用作索引的輸入。

型別

type屬性定義hbase中內容的資料型別。

因為所有資料都作為位元組陣列儲存在hbase中,但solr中的所有內容都被索引為文字,因此需要一種從位元組陣列轉換為實際資料型別的方法。

此字段的值可以是hbase bytes類支援的任何資料型別之一:int,long,string,boolean,float,double,short或bigdecimal。

元素定義了乙個鍵值對,它將提供給實現該com.ngdata.hbaseindexer.configurable介面的自定義類。

元素也可以巢狀在元素中。

該元素有兩個屬性:name和value。兩者都是強制性的

Hbase indexer常用命令

1.啟動hbase indexer服務 bin hbase indexer server z s1 2181 s2 2181 s3 2181 work hbase indexer.log 引數說明 z hbase indexer要用到的zookeeper的鏈結資訊 work hbase indexe...

C 索引器 索引器的定義

索引器定義類似於屬性,但其功能與屬性並不相同。索引器提供一種特殊的方法編寫get和set訪問器。屬性可以像訪問字段一樣訪問物件的資料,索引器可以使使用者像訪問陣列一樣訪問類成員。定義索引器的語法如下 訪問修飾符 型別名稱 this 型別名稱 引數名 set索引器沒有像屬性和方法那樣的名字,關鍵字th...

C 索引器 索引器的定義

索引器定義類似於屬性,但其功能與屬性並不相同。索引器提供一種特殊的方法編寫get和set訪問器。屬性可以像訪問字段一樣訪問物件的資料,索引器可以使使用者像訪問陣列一樣訪問類成員。定義索引器的語法如下 訪問修飾符 型別名稱 this 型別名稱 引數名 set索引器沒有像屬性和方法那樣的名字,關鍵字th...