1、下载安装包
http://phoenix.apache.org/#
2、配置环境变量
export PHOENIX_HOME=~/phoenix-4.9.0-HBase-0.98
export PATH=${PHOENIX_HOME}/bin:${PATH}
export CLASS_PATH=${CLASS_PATH}:${PHOENIX_HOME}/phoenix-4.9.0-HBase-0.98-client.jar
# 拷贝phoenix-*-server.jar到hbase/lib目录
# 移除低版本的phoenix-*-server.jar【ls ${HBASE_HOME}/lib/*phoenix*】
cp ${PHOENIX_HOME}/phoenix-4.9.0-HBase-0.98-server.jar ${HBASE_HOME}/lib/
# 替换phoenix原有配置
cp ${HBASE_HOME}/conf/hbase-site.xml ${PHOENIX_HOME}/bin/
3、自定义函数创建
# 设置允许使用自定义函数
方式一:在phoenix*/bin/hbase-site.xml中添加下列属性
方式二:在phoenix-*-client.jar/hbase-default.xml中添加下列属性
<property>
<name>phoenix.functions.allowUserDefinedFunctions</name>
<value>true</value>
</property>
# 执行创建函数
CREATE FUNCTION ROWKEY(varchar) returns varchar as 'com.ai.phoenix.func.RowKeyEinvoice';
# 将lib添加到/hbase/lib中
将在定义函数jar上传至hadoop此目录【ocetl为目录】
hadoop fs -mkdir -p /hbase/lib
hadoop fs -put rowkey-func.jar /hbase/lib
hadoop fs -put commons-lang3-3.4.jar /hbase/lib
# 重启hbase
# 验证
select * from E_INVOICE201703 where id = rowkey('17321017020100102001');