连接信息: /usr/hdp/2.5.5.0-157/phoenix/bin/sqlline.py hdp03:2181

常用shell命令

  1. !quit--退出
  2. !tables-查看所有表
  3. !describe+‘表名’ -- 查看表结构
  4. drop table+ "tableName" --删除表
  5. upsert into 'tableName' --插入

执行SQL

./psql.py hdp03 ~/QHJD.sql

建表-预分区

  1. 0: jdbc:phoenix:hdp03:2181> create table spring (
  2. . . . . . . . . . . . . . > host varchar(64) not null primary key,
  3. . . . . . . . . . . . . . > name varchar,
  4. . . . . . . . . . . . . . > description varchar
  5. . . . . . . . . . . . . . > ) split on ('00','01','03');

建表-指定列镞

  1. 0: jdbc:phoenix:hdp03:2181> create table spring1 (
  2. . . . . . . . . . . . . . > phone_name varchar not null primary key,
  3. . . . . . . . . . . . . . > "f1"."name" varchar
  4. . . . . . . . . . . . . . > );

注意: 双引号扩起来!

建表-指定schema(命名空间)

  1. CREATE TABLE IF NOT EXISTS "QH"."TB_XDRY_XDRYZPXX" (
  2. XYRBH VARCHAR NOT NULL PRIMARY KEY,--嫌疑人编号
  3. XP VARCHAR ,--相片,大文件(选择时,只能单条下载
  4. GXSJC VARCHAR,--更新时间戳
  5. YXX INTEGER --有效性
  6. );

注意:需要开启schema与namespace的对应关系
如果使用了hbase中的自定义namespace,不仅仅使用default,那么在phoenix中与之对应的是schema的概念,但是默认并没有开启,需要在hbase-site.xml中增加以下配置项:

  1. <property>
  2. <name>phoenix.schema.isNamespaceMappingEnabled</name>
  3. <value>true</value>
  4. </property>
  5. <property>
  6. <name>phoenix.schema.mapSystemTablesToNamespace</name>
  7. <value>true</value>
  8. </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] |