Video: Bring your own keys on Apache Kafka with Azure HDInsight | Azure Friday 2025
Úložiště dat HBase se skládá z jedné nebo více tabulek,. Data jsou uložena v řádcích se sloupci a řádky mohou mít více verzí. Ve výchozím nastavení je verze verzí pro řádky implementována s časovými razítky.
Řádek | Rodina sloupců: {Qualifier kol: Verze: Hodnota} |
---|---|
00001 | Název zákazníka: {'FN':
1383859182496: ' John ', ' LN ': 1383859182858:' Smith ', ' MN ': 1383859183001:' Timothy ', ' MN ': 1383859182915:' T '} ContactInfo: ': 1383859183030:' John. Smith @ xyz. com ", 'SA': 1383859183073: '1 Hadoop Lane, NY 11111'} 00002 |
Jméno zákazníka: { 1383859183103: 'LN': 1383859183163: 'Doe', | ContactInfo: {
'SA': 1383859185577: '7 HBase Ave, CA 22222'}
Tabulka má pro ilustraci dva jednoduché řádkové klávesy: 00001 a 00002. Řádkové klávesy jsou implementovány jako byteová pole a jsou seřazeny v bajtově lexikografickém pořadí, což jednoduše znamená, že řádek klávesy jsou tříděny, byty byte, zleva doprava. Pokud myslíte na číselné hodnoty při navrhování klíče řádek, třídění je jednoduché. Při zadání dvou klíčů, je-li bajt v indexu 1 v klíči 1 menší než byte v indexu 1 v klíči 2, bude řádkový klíč 1 vždy uložen před řádkovým klíči 2 bez ohledu na to, co je v pořadí bajtů. |
Je však obvyklé používat znaky pro tisk (ASCII) spíše než číselné hodnoty pro řádkové klávesy v HBase, a pokud ano, musíte pochopit, že jazyk Java představuje znaky pomocí standardu Unicode. Následující příklad ilustruje návrhové úvahy pro základní latinu (ASCII).
"RowA" předchází "RowA" Row-1 "předchází" Row11 "Řádek1" předchází "RowA"
Důvod pro tuto zvláštní pozornost je to, že správný návrh klíče řádek je zásadní pro dosažení dobrého výkonu v HBase - to neznamená, že si neuvědomíte plnou hodnotu vašeho clusteru HBase.Tříděné klíče řádek vám mohou pomoci rychleji přistupovat k vašim datům