当前位置: 首页 > news >正文

普陀网站建设哪家便宜中天钢铁 网站建设

普陀网站建设哪家便宜,中天钢铁 网站建设,学校网站群建设必要,互联网公司排名500强名单目录 Phoenix Shell 操作 Phoenix JDBC 操作 Phoenix 二级索引 HBase整合Phoenix Phoenix 简介 Phoenix 是 HBase 的开源 SQL 皮肤。可以使用标准 JDBC API 代替 HBase 客户端 API来创建表#xff0c;插入数据和查询 HBase 数据 使用Phoenix的优点 在 Client 和 HBase …目录 Phoenix Shell 操作 Phoenix JDBC 操作 Phoenix 二级索引 HBase整合Phoenix Phoenix 简介 Phoenix 是 HBase 的开源 SQL 皮肤。可以使用标准 JDBC API 代替 HBase 客户端 API来创建表插入数据和查询 HBase 数据 使用Phoenix的优点 在 Client 和 HBase 之间放一个 Phoenix 中间层不会减慢速度Phoenix 对于用户输入的 SQL 有大量的优化手段 Phoenix 安装部署 1.下载并解压 官网地址Overview | Apache Phoenix 下载地址Phoenix Downloads | Apache Phoenix 下载好tar包之后上传到服务器上使用 tar -zxvf进行解压即可 2.server包配置 进入安装phoenix的路径下cd /opt/module/phoenix 找到server包 将其复制到hbase安装路径下的lib文件夹中并同步到其余所有节点上 3.配置环境变量 vim /etc/profile.d/my_env.sh自定义的环境变量文件 添加以下内容 #phoenix export PHOENIX_HOME/opt/module/phoenix export PHOENIX_CLASSPATH$PHOENIX_HOME export PATH$PATH:$PHOENIX_HOME/bin 4.启动phoenix 首先需要重启hbase 然后启动phoenix /opt/module/phoenix/bin/sqlline.py hadoop102,hadoop103,hadoop104:2181 出现以下界面说明启动成功 如果出现以下错误 警告: Failed to load history java.lang.IllegalArgumentException: Bad history file syntax! 说明之前之前使用过phoenix存在历史记录删除/home/用户名路径下的.sqlline文件夹即可 我的路径就是/home/why/.sqlline Phoenix Shell 操作 使用语法可以查看官网Grammar | Apache Phoenix 1.table 显示所有表 !table 或 !tables 创建表 指定单个列作为RowKey CREATE TABLE IF NOT EXISTS student( id VARCHAR primary key, name VARCHAR, age BIGINT, addr VARCHAR); 在 phoenix 中表名等会自动转换为大写若要小写使用双引号如us_population。 指定多个列的联合作为 RowKey CREATE TABLE IF NOT EXISTS student1 ( id VARCHAR NOT NULL, name VARCHAR NOT NULL, age BIGINT, addr VARCHAR CONSTRAINT my_pk PRIMARY KEY (id, name)); 注Phoenix 中建表会在 HBase 中创建一张对应的表。为了减少数据对磁盘空间的占用Phoenix 默认会对 HBase 中的列名做编码处理。具体规则可参考官网链接 Storage Formats | Apache Phoenix 若不想对列名编码可在建表语句末尾加上 COLUMN_ENCODED_BYTES 0; 插入数据 upsert into student values(1001,zhangsan, 10, beijing); 查询数据 select * from student; select * from student where id1001; 删除数据 delete from student where id1001; 删除表 drop table student; 退出命令行 !quit 2.表的映射 默认情况下 HBase 中已存在的表通过 Phoenix 是不可见的。如果要在 Phoenix 中操作 HBase 中已存在的表可以在 Phoenix 中进行表的映射。映射方式有两种视图映射和表映射 创建hbase表 在hbase shell中创建表testcreate test,info1,info2 视图映射 在phoenix中创建test的视图映射 create view test(id varchar primary key,info1.name varchar, info2.address varchar); 注意Phoenix 创建的视图是只读的所以只能用来做查询无法通过视图对数据进行修改等操作 在表中插入两条数据 put test,10001,info1:name,why put test,10001,info2:address,10086 在phoenix中查询 select * from test 注意这里的test一定要加双引号否则会将其识别为表而不是视图 查询结果如下 如何删除视图 drop view test; 视图的删除不会对hbase中的表造成任何影响在删除视图后依旧能在hbase中查询到表中的数据 表映射 create tabletest(id varchar primary key,info1.name varchar, info2.address varchar) column_encoded_bytes0; 进行表映射时不能使用列名编码需将 column_encoded_bytes 设为 0 在 Pheonix 创建表去映射 HBase 中已经存在的表是可以修改删除 HBase 中已经存在的数据的。而且删除 Phoenix 中的表那么 HBase 中被映射的表也会被删除 首先查询表中的数据 然后删除表映射 drop table test; 再去hbase中查询就会发现原表也被删除了 3.数字类型说明 HBase 中的数字底层存储为补码而 Phoenix 中的数字底层存储为在补码的基础上将符号位反转。故当在 Phoenix 中建表去映射 HBase 中已存在的表当 HBase 中有数字类型的字段时会出现解析错误的现象 测试 在hbase中创建表插入数据并扫描 create test_number,info put test_number,1001,info:number,Bytes.toBytes(1000) scan test_number,{COLUMNS info:number:toLong} 结果如下 toLong的作用是将bytes转化为long类型的数据 否则扫描出来的数据格式就是这样的 在phoenix中创建表映射 create view test_number(id varchar primary key,info.number bigint); 查询后发现结果有问题 解决方法 1.使用无符号类型 Phoenix 种提供了 unsigned_intunsigned_long 等无符号类型其对数字的编码解码方式和 HBase 是相同的如果无需考虑负数那在 Phoenix 中建表时采用无符号类型是最合适的选择 重新创建视图映射并查询 create view test_number(id varchar primary key,info.number unsigned_long); select * from test_number; 结果如下 2.自定义函数 如需考虑负数的情况则可通过 Phoenix 自定义函数将数字类型的最高位即符号位反转即可 Phoenix JDBC 操作 添加依赖 dependencygroupIdorg.apache.phoenix/groupIdartifactIdphoenix-client-hbase-2.4/artifactIdversion5.1.2/version /dependency 编写标准的jdbc代码 public static void main(String[] args) throws SQLException {//创建连接String url jdbc:phoenix:hadoop102,hadoop103,hadoop104:2181;//创建配置Properties properties new Properties();//获取连接Connection connection DriverManager.getConnection(url, properties);//编译sql语句PreparedStatement preparedStatement connection.prepareStatement(select * from student);//执行语句ResultSet resultSet preparedStatement.executeQuery();//输出结果while (resultSet.next()){System.out.println(resultSet.getString(1) : resultSet.getString(2) : resultSet.getString(3));}connection.close();//由于 Phoenix 框架内部需要获取一个 HBase 连接,所以会延迟关闭System.out.println(hello); } Phoenix 二级索引 添加如下配置到 HBase 的 HRegionserver 节点的 hbase-site.xml !-- phoenix regionserver 配置参数-- propertynamehbase.regionserver.wal.codec/namevalueorg.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec/value /property 全局索引global index Global Index 是默认的索引格式创建全局索引时会在 HBase 中建立一张新表。也就是说索引数据和数据表是存放在不同的表中的因此全局索引适用于多读少写的业务场景 写数据的时候会消耗大量开销因为索引表也要更新而索引表是分布在不同的数据节点上的跨节点的数据传输带来了较大的性能消耗在读数据的时候 Phoenix 会选择索引表来降低查询消耗的时间 语法 创建索引CREATE INDEX my_index ON my_table (my_col);删除索引DROP INDEX my_index ON my_table 示例给age列添加索引 create index my_index on student(age); 查看二级索引是否有效 通过explain语法进行查看 explain select age from student where age 10; 添加二级索引之后会变成范围扫描 但如果查询的字段不是索引字段将会变成全局扫描 explain select id,name,addr from student where age 10; 包含索引covered index 创建携带其他字段的全局索引本质还是全局索引 语法CREATE INDEX my_index ON my_table (v1) INCLUDE (v2); 示例给age列添加索引并包含addr列 create index my_index on student(age) include (addr); 查看执行计划 本地索引local index Local Index 适用于写操作频繁的场景。 索引数据和数据表的数据是存放在同一张表中且是同一个 Region避免了在写操作的时候往不同服务器的索引表中写索引带来的额外开销 语法CREATE LOCAL INDEX my_index ON my_table(my_column); 创建本地索引 CREATE LOCAL INDEX my_index ON student(age,addr); 查看执行计划 explain select id,name,addr from student where age 10;
http://www.w-s-a.com/news/667277/

相关文章:

  • 关于加强网站信息建设的通知3d网站开发成本
  • 网站建设实训过程报告成品网站1688入口的功能介绍
  • 网站定制开发需要什么资质国外设计灵感网站
  • 搜搜网站收录广告设计与制作模板图片
  • 江苏省建设监理协会网站汕头网站建设方案优化
  • 中国风网站配色方案正规少儿编程排名
  • 兼职做网站的软件wordpress赞的代码
  • 销售网站的技巧四博互联做的网站
  • 网站建设 图片问题小程序免费制作平台凡科网页版
  • 猪八戒网做网站怎么样网站建设 客户同程
  • 西安网站建设那家强网站建设方案 报价
  • 销售网站建设考核指标网站建设价格组成
  • 网站302跳转网站建设完成后 下一步做什么
  • 赣州制作网站企业硬件开发用什么语言
  • 新网站如何被网站收录百度排名优化软件
  • html网站简易模板国内买机票的网站建设
  • 百度关键词分析工具百度seo排名软
  • 自己怎样做免费网站ueditor 上传wordpress
  • 深圳高端网站开发网站建设公司销售技巧
  • 网站建设的优势是什么意思可拖动网站
  • 建设什么企业网站网站微信认证
  • 网站开发的平台成都有哪些好玩的
  • 上海金瑞建设集团网站怎么创建免费网页
  • 柳州做网站设计的公司制作网站软件下载
  • 湖南seo网站开发苏州网络营销及网站推广
  • 如何发布自己做的网站郑州网站建设定制开发
  • 重庆网站商城宁波网络公司联系方式
  • 个人网站建设实验心得seo课程简介
  • 免费自助建站系统下载推广app网站
  • 用scala做的网站标题关键词优化技巧