- N +

hbase基本概念(hbase數(shù)據(jù)庫的特點)

大家好,今天來為大家解答hbase基本概念這個問題的一些問題點,包括hbase數(shù)據(jù)庫的特點也一樣很多人還不知道,因此呢,今天就來為大家分析分析,現(xiàn)在讓我們一起來看看吧!如果解決了您的問題,還望您關(guān)注下本站哦,謝謝~

hbase中行鍵列鍵時間戳的概念

行鍵可以是任意字符串,在Hbase內(nèi)部,行鍵保存為字節(jié)數(shù)組。存儲時,數(shù)據(jù)按照行鍵的字典序排序存儲。

列族:一個Hbase表被分組成許多“列族”的集合,它是基本的訪問控制單元。

時間戳:每個單元格都保存著同一份數(shù)據(jù)的多個版本,這些版本采用時間戳進行索引。時間戳一般是64位整型,可以由用戶自己賦值,也可以由Hbase在數(shù)據(jù)寫入時自動賦值。

cdp與cdh的區(qū)別

CDP和CDH都是大數(shù)據(jù)技術(shù)平臺,但是有一些區(qū)別:

1.CDP(ClouderaDataPlatform)是由Cloudera開發(fā)的數(shù)據(jù)管理和分析平臺,旨在為企業(yè)提供全面的數(shù)據(jù)解決方案。它集成了大數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)倉庫、數(shù)據(jù)工程和數(shù)據(jù)科學等功能,可以支持各種類型的工作負載和數(shù)據(jù)應(yīng)用。

2.CDH(ClouderaDistributionincludingApacheHadoop)是Cloudera為Hadoop生態(tài)系統(tǒng)提供的一個發(fā)行版。它包含了ApacheHadoop以及其他相關(guān)的大數(shù)據(jù)工具和組件,如Hive、HBase、Spark等。CDH提供了一個穩(wěn)定可靠的分布式數(shù)據(jù)處理和分析平臺。

3.CDP相比于CDH具有更強的集成能力和全面的數(shù)據(jù)管理功能。CDP將數(shù)據(jù)分析、數(shù)據(jù)倉庫和數(shù)據(jù)治理整合在一起,以提供更全面的數(shù)據(jù)管理和分析解決方案。CDH則更側(cè)重于提供穩(wěn)定可靠的Hadoop分布式處理平臺。

總結(jié)來說,CDH是Cloudera提供的Hadoop生態(tài)系統(tǒng)的發(fā)行版,而CDP是Cloudera為企業(yè)提供的全面的數(shù)據(jù)管理和分析平臺。

亞秒級是什么概念

亞秒級的概念是沒有達到秒的速度

亞秒級別的查詢,主要在于存儲結(jié)構(gòu),kylin的數(shù)據(jù)都是寫入了hbase,cube的重點就是維度和度量列,在hbase中rowkey就是由各維度值拼接起來的,對于這種多維度的計算,先在hbase中對所有的維度進行,然后在查詢時直接在hbase中查數(shù)就行了,因為hbase這種隨機查詢很強,所有kylin查數(shù)能控制在亞秒級別了

h base是一種什么數(shù)據(jù)庫

HBase是BigTable的開源java版本。是建立在HDFS之上,提供高可靠性、高性能、列存儲、可伸縮、實時讀寫NoSQL的數(shù)據(jù)庫系統(tǒng)。

NoSQL=NOSQL

NoSQL=NotOnlySQL

把NoSQL數(shù)據(jù)的原生查詢語句封裝成SQL

HBasePhoenix

以下五點是HBase這個NoSQL數(shù)據(jù)庫的要點:

①它介于nosql和RDBMS之間,僅能通過主鍵(rowkey)和主鍵的range來檢索數(shù)據(jù),僅支持單行事務(wù)(可通過hive支持來實現(xiàn)多表join等復雜操作)。

②Hbase查詢數(shù)據(jù)功能很簡單,不支持join等復雜操作

③不支持復雜的事務(wù)(行級的事務(wù))

④Hbase中支持的數(shù)據(jù)類型:byte[]

⑤主要用來存儲結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。

結(jié)構(gòu)化:數(shù)據(jù)結(jié)構(gòu)字段含義確定,清晰,典型的如數(shù)據(jù)庫中的表結(jié)構(gòu).

半結(jié)構(gòu)化:具有一定結(jié)構(gòu),但語義不夠確定,典型的如HTML網(wǎng)頁,有些字段是確定的(title),有些不確定(table)

非結(jié)構(gòu)化:雜亂無章的數(shù)據(jù),很難按照一個概念去進行抽取,無規(guī)律性

hbase是非關(guān)系型數(shù)據(jù)庫,而且它是基于列的而不是基于行的模式。

hbase全稱HadoopDatabase,是一個高可靠性、高性能、面向列、可伸縮、實時讀寫的分布式數(shù)據(jù)庫。

hbase利用hadoophdfs作為其文件存儲系統(tǒng),利用hadoop。

MapReduce來處理hbase中的海量數(shù)據(jù)、利用zookeeper作為其分布式協(xié)同服務(wù)。

自學java

“這是一篇完整的java程序員學習線路圖,一共分為六個階段。

我以java為例,展示完整的學習步驟。

希望對于想通過java自學的朋友有幫助。

java程序員學習線路流程第一步:Java語言基礎(chǔ)

從最簡單的開始,helloworld開始Java之旅

1.編程基礎(chǔ)

常量與變量

數(shù)據(jù)類型

運算符

流程控制語句

方法

數(shù)組

2.面向?qū)ο?/p>

面向?qū)ο笏枷?/p>

類與對象

成員變量和局部變量

封裝

this關(guān)鍵字

構(gòu)造方法

3.集合

集合概述

集合特點

ArrayList集合

HashMap集合

常用集合優(yōu)劣比較

4.輸入/輸出IO

字符輸入流

字符輸出流

字符緩沖輸入流

字符緩沖輸出流

復制文件

集合與文件中數(shù)據(jù)相互讀寫

5.練習階段

屬于你自己的helloword

第二步:java語言高級

再結(jié)合java高級部分,里面的部分內(nèi)容,這個階段你不一定能理解很徹底。但有一點,如果你今后想進入高階俱樂部,這些內(nèi)容你必須掌握牢固。

舉個栗子,如果你面試通過進入了公司,我一定會在早期仔細review你的代碼。代碼的功力是欺騙不了人的,不同人寫一個接口,呈現(xiàn)的結(jié)果也是千差萬別(所以才有了規(guī)范)。

1.面向?qū)ο?/p>

繼承

多態(tài)

重寫(Override)

重載(Overload)

封裝

接口

java包package

2.異常處理

異常概述

異常分類

異常處理方案

自定義異常

3.多線程

Java線程:概念與原理

Java線程:創(chuàng)建與啟動

Java線程:多線程的實現(xiàn)方案

Java線程:線程生命周期

Java線程:線程池

Java線程:線程狀態(tài)的轉(zhuǎn)換

Java線程:線程的同步與鎖

Java線程:線程的交互等等

線程的幾個主要概念

在多線程編程時,你需要了解以下幾個概念

線程同步

線程間通信

線程死鎖

線程控制:掛起、停止和恢復

4.輸入與輸出IO

文件和I/O

讀寫文件

Java流(Stream)

文件(File)

緩沖流

5.泛型(Generic)

泛型的使用場景

泛型類型

泛型方法

泛型通配符?

6.網(wǎng)絡(luò)編程

網(wǎng)絡(luò)機制

Socket原理機制

UDP、TCP傳輸?shù)?/p>

7.反射(reflection)

類加載機制原理

反射構(gòu)造方法、字段、方法

Properties配置文件

8.注解(annotation)

注解的使用和原理

三種內(nèi)置annotation

自定義annotation

注解類的反射調(diào)用

動態(tài)代理類如何處理

9.Java高級特性和類庫

java類加載器classloader

java程序運行的基礎(chǔ)知識,java編譯后的bytecode的整個運行機制,這一點對應(yīng).net的IL(intermediatelanguage)。

理解Javanio,關(guān)于這一點網(wǎng)上有非常多的教程,這一條需要重點掌握,對于高并發(fā)的掌握很重要。

javajuc(java.util.concurrent)等等

10.JVM原理和調(diào)優(yōu)

JVM最重要的三個部分必須要非常清楚,內(nèi)存劃分、class加載機制以及GC策略。搞清楚這三部分不僅僅是為了面試,也是為了讓你對于Java有更深刻的理解,這對于你的Java生涯非常有幫助。

內(nèi)存劃分簡單說分為三個部分,YoungGeneration(年輕代)、OldGeneration(年老代)以及PermGeneration(永久代)。其中的YoungGeneration(年輕代),又分為Eden、From和To,其中From和To又統(tǒng)稱為SurvivorSpaces(幸存區(qū))。

關(guān)于classloader機制的學習,可以結(jié)合tomcat去學習,了解清楚tomcat的classloader機制,看tomcat是如何保證各個APP之間的類隔離的。如果可能的話,看一下tomcat中classloader的源碼,當中也包含了與tomcat類加載機制相似的部分。

至于GC,需要清楚GCRoots都有哪些,以及如何判斷一個對象可以被回收。此外,GC的算法和策略也要有大概的了解。

第三步:javaweb階段

1.前段技術(shù)掌握

html

css

js

jquery

bootstrap

2.動態(tài)網(wǎng)頁技術(shù)

JavaServletAPI

Velocity

FreeMarker

JSP等常用模板引擎

比如,淘寶前端層使用的是velocity模板,部分公司采用jsp、freemarker等,基本類似。

3.linux服務(wù)器基本命令

在個階段,也可以結(jié)合自己的情況,學習linux系統(tǒng)底層原理。

第四步:java框架階段

1.SSH(struts2+spring+hibernate)

2.SSM(springmvc+spring+mybatis)

備注:如果你仔細,網(wǎng)上有部分叫SSI,I為ibatis,后來ibatis改名為mybatis了。

框架組合,我首推SSM,比SSH靈活強大。

框架的優(yōu)缺點,我會再單獨寫文。

如果你還有興趣,可以自己搭建Lucene、solr框架,以及memcached/redis、activeMQ、hadoop等等搜索、分布式緩存、異步消息、數(shù)據(jù)等。

我一般建議自己搭建,從學習效果再到理解深度都不一樣。有興趣,就開始自己搭建。

第五步:開發(fā)工具階段

1.web調(diào)試工具

firefox

firebug

webdeveloper

yslow

httpwatch

ietester等

這些都是開發(fā)必用。

2.集成開發(fā)工具

eclipse(首推),STS,myEclipse,Idea

eclipse里的插件太多,推薦幾個必裝插件:

JadClipse、run-jetty-run(很牛的熱部署調(diào)試)、veloctiy、freemarkerIDE、Subclipse、m2eclipse、mybatisEditor、EasyExplorer等等。

3.版本控制工具

svn、git(首推)

4.構(gòu)建工具

maven、nexus搭建maven私服

建議自己搭建一套nexusmaven私服,成為你們公司的代碼倉庫員。

5.java調(diào)試工具

jProfiler(性能跟蹤)

jClarity(性能監(jiān)控和日志分析)

Visualvm(性能分析和調(diào)優(yōu))等

優(yōu)知學院是IT人的進階站,提供系統(tǒng)的互聯(lián)網(wǎng)產(chǎn)品&技術(shù)的入門指南以及進階干貨。

OK,本文到此結(jié)束,希望對大家有所幫助。

返回列表
上一篇:
下一篇: