连接信息: /usr/hdp/2.5.5.0-157/phoenix/bin/sqlline.py hdp03:2181
常用shell命令
!quit--退出!tables-查看所有表!describe+‘表名’ -- 查看表结构drop table+ "tableName" --删除表upsert into 'tableName' --插入
执行SQL
./psql.py hdp03 ~/QHJD.sql
建表-预分区
0: jdbc:phoenix:hdp03:2181> create table spring (. . . . . . . . . . . . . > host varchar(64) not null primary key,. . . . . . . . . . . . . > name varchar,. . . . . . . . . . . . . > description varchar. . . . . . . . . . . . . > ) split on ('00','01','03');
建表-指定列镞
0: jdbc:phoenix:hdp03:2181> create table spring1 (. . . . . . . . . . . . . > phone_name varchar not null primary key,. . . . . . . . . . . . . > "f1"."name" varchar. . . . . . . . . . . . . > );
注意: 双引号扩起来!
建表-指定schema(命名空间)
CREATE TABLE IF NOT EXISTS "QH"."TB_XDRY_XDRYZPXX" (XYRBH VARCHAR NOT NULL PRIMARY KEY,--嫌疑人编号XP VARCHAR ,--相片,大文件(选择时,只能单条下载GXSJC VARCHAR,--更新时间戳YXX INTEGER --有效性);
注意:需要开启schema与namespace的对应关系
如果使用了hbase中的自定义namespace,不仅仅使用default,那么在phoenix中与之对应的是schema的概念,但是默认并没有开启,需要在hbase-site.xml中增加以下配置项:
<property><name>phoenix.schema.isNamespaceMappingEnabled</name><value>true</value></property><property><name>phoenix.schema.mapSystemTablesToNamespace</name><value>true</value></property>
注解
不支持类似于MYSQL COMMENT语句,
注释语法:
//注释
-- 注释
/* 注释 */
数据类型
http://phoenix.apache.org/language/datatypes.html
| INTEGER | java.lang.Integer |
|---|---|
| UNSIGNED_INT | java.lang.Integer |
| BIGINT | Long |
| UNSIGNED_LONG | Long |
| TINYINT | Byte |
| UNSIGNED_TINYINT | Byte |
| SMALLINT | Short |
| UNSIGNED_SMALLINT | Short |
| FLOAT | Float |
| UNSIGNED_FLOAT | Float |
| DOUBLE | Double |
| UNSIGNED_DOUBLE | Double |
| DECIMAL | java.math.BigDecimal |
| BOOLEAN | Boolean |
| Time | java.sql.Time |
| DATE | java.sql.Date |
| TIMESTAMP | java.sql.Timestamp |
| VARCHAR | String |
| CHAR | String—CHAR(10) |
| BINARY | byte[]—Raw fixed length byte array. |
| VARBINARY | byte[]—Raw variable length byte array. |
| ARRAY | java.sql.Array—- |
VARCHAR ARRAY
CHAR(10) ARRAY [5]
INTEGER []
INTEGER [100] |
