我正在使用 Cloudera Quick Start VM 并在其上运行 hbase。以下是我的疑问:
hbase(main):009:0> create 'test', 'cf'
0 row(s) in 0.4500 seconds
=> Hbase::Table - test
hbase(main):010:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.1950 seconds
hbase(main):011:0> put 'test', 'row3', 'cf:c', 'value4'
0 row(s) in 0.0580 seconds
hbase(main):012:0> scan 'test'
ROW COLUMN+CELL
row3 column=cf:c, timestamp=1414148485533, value=value4
1 row(s) in 0.0420 seconds
hbase(main):013:0> scan 'test', {VERSIONS => 3}
ROW COLUMN+CELL
row3 column=cf:c, timestamp=1414148485533, value=value4
1 row(s) in 0.0370 seconds
hbase(main):014:0> get 'test', 'row3', {COLUMN => 'cf:c', …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 localhost:2181 的 zookeeper 访问在本地计算机上运行的 hbase。我安装了 phoenix-3.3.1-bin 并试图访问一个已经存在的 hbase tabe,但不能。因此,为了测试,我使用 phoenix 命令行创建了一个表,并在运行 !tables 命令时查看它。但是当我运行 selet 命令时,它显示错误。
这就是我正在做的,我使用的是 mac,hbase-0.94.26。同样的事情也发生在 squirrel-sql 客户端上。
0: jdbc:phoenix:localhost> CREATE TABLE stats.prod_metrics ( host char(50) not null, created_date date not null,
. . . . . . . . . . . . .> txn_count bigint CONSTRAINT pk PRIMARY KEY (host, created_date) );
No rows affected (1.82 seconds)
0: jdbc:phoenix:localhost> !tables
+------------------------------------------+------------------------------------------+------------------------------------------+---------------------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE |
+------------------------------------------+------------------------------------------+------------------------------------------+---------------------------+
| | SYSTEM | CATALOG …Run Code Online (Sandbox Code Playgroud) 我正在将 HBase 代码更新为0.98.10,1.1.5但编译器显示 myWalObserver 不再实现原始接口WALObserver。
编译器输出:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-
plugin:3.1:compile (default-compile) on project observer: Compilation failure
[ERROR] /Users/zhangsong.zs/git/HBaseObserver/src/main/java/com/gavin/observer/
DataSyncWALObserver.java:[39,8] com.gavin.observer.DataSyncWALObserver
is not abstractand does not override abstract method
postWALWrite(org.apache.hadoop.hbase.coprocessor.ObserverContext<? extends org.apache.hadoop.hbase.coprocessor.WALCoprocessorEnvironment>,
org.apache.hadoop.hbase.HRegionInfo,org.apache.hadoop.hbase.wal.WALKey,
org.apache.hadoop.hbase.regionserver.wal.WALEdit) in
org.apache.hadoop.hbase.coprocessor.WALObserver
Run Code Online (Sandbox Code Playgroud)
所以在版本相同的接口中添加了一些新的API 1.1.5,并且旧的API被弃用。旧代码不再起作用,这对开发人员不利。
所以我想问:我是否还必须实现已经弃用的旧接口方法?
Hadoop技术对我来说非常混乱(Hbase,flume,oozie,scoop,zookeeper,Hive,hue,Bigtop,pig)以及现在它的黑斑羚.有人可以定义它们是如何集成的吗?(我是一个信息开发人员,对Java的知识很少)至少是数据软件的外壳!
我是HBase的新手.实际上HBase称为无模式数据存储.但是要在特定列中存储值,我们应该指定表,然后是列族,然后是列名,然后是{Actual value}.
所以我很困惑,要将值放入hbase表中,为什么我们需要指定列名.
HBase是无模式的吗?
请澄清我的疑问?提前致谢.
hbase ×5
hadoop ×2
hive ×2
java ×2
api ×1
cloudera ×1
deprecated ×1
interface ×1
phoenix ×1
squirrel-sql ×1