大数据(5d)Phoenix

Phoenix入门(上) 本文作者:林伟兵,叩丁狼高级讲师。原创文章,转载请注明出处。 1.Phoenix概述 Phoenix是一个开源的HBASE SQL层API。Phoeinx可以用标准的JDBC API替代HBASE client API来创建表,插入和查询查询HBASE中的数据。Phoenix作为应用层和HBASE之间的中间件,以下特性使它在大数据量的简单查询场景有着独有的优势: 支持二级索引. 编译SQL成... 阅读详情

1、Introduction

  • 低延时场景的OLAP
  • 用户借助Phoenix,可以使用SQL语法来操作HBase
  • Secondary Indexing加速查询

2、Deploy

1、下载(注意要对准HBase版本):http://phoenix.apache.org/

2、环境变量

# Phoenix
export PHOENIX_HOME=$B_HOME/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

3、解压

tar -zxvf phoenix-hbase-2.4-5.1.2-bin.tar.gz -C $B_HOME/
cd $B_HOME
mv phoenix-hbase-2.4-5.1.2-bin phoenix
ll

4、复制Phoenix的phoenix-server-hbase.jar到HBase的lib下

cp $PHOENIX_HOME/phoenix-server-hbase-2.4-5.1.2.jar $HBASE_HOME/lib/

5、分发上面的jar(也可以分发整个lib)

rsync.py $HBASE_HOME/lib 

6、重启HBase

stop-hbase.sh
start-hbase.sh

3、Phoenix Shell

sqlline.py进入Phoenix Shell

$PHOENIX_HOME/bin/sqlline.py

查看所有表

!tables

建表(在Phoenix中,表名等会自动转大写,若要小写,就用双引号,如"student")

create table if not exists student(
    id varchar primary key,
    name varchar
);

HBase浏览器界面16010可以看到

有则更新没则插入数据(update+insert)

upsert into student values('1001','Paladin');
upsert into student values('1001','Muradin');
upsert into student values('1002','Jaina');

HBase Shell 界面

查询

select * from student where id='1001';

删值

delete from student where id='1001';
select * from student;

Phoenix Shell 界面

删表

drop table student;

退出

!quit

4、Secondary Indexing

先看个例子(创个表,插些数据)

drop table if exists student;
create table student(
    id varchar primary key,
    name varchar,
    age integer
)COLUMN_ENCODE_BYTES=0;
upsert into student values('1001','Paladin',5);
upsert into student values('1002','Muradin',6);
upsert into student values('1003','Jaina',5);
upsert into student values('1004','Jaina',6);
select * from student;

Explain Plan(执行计划)

explain select * from student;
explain select * from student where id='1001';
explain select * from student where id='1001' or age=5;
explain select * from student where id='1001' and age=5;
explain select * from student where name='Jaina';

如图示:用主键查询不用全表扫描,而用非主键查询要

由此引入Secondary Indexing来为name字段创建索引,加速where name='Jaina'查询

4.1、Configuration

编辑hbase-site.xml

vim $HBASE_HOME/conf/hbase-site.xml
<property>
  <name>hbase.regionserver.wal.codec</name>
  <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>

同步配置

rsync.py $HBASE_HOME/conf/hbase-site.xml

重启HBase

4.2、Global Indexes

适用场景:经常读

创建Global Indexes

create index student_name on student(name);

大概逻辑展示:hbase shell可以看到多了个表STUDENT_NAME

查看执行计划

删除Global Indexes

drop index student_name on student;

4.3、Local Indexes

适用场景:经常写,空间有限

create local index student_name on student(name);

hbase shell可以看到STUDENT表里多了新数据

查看执行计划

删除Local Indexes

drop index student_name on student;

5、Appendix

en🔉cn
phoenixˈfiːnɪksn. 凤凰;死而复生的人
secondaryˈsekənderiadj. 第二的;中等的;次要的;中级的;n. 副手;代理人
parallelˈpærəleln. 平行线;vt. 使…与…平行;adj. 平行的
chunktʃʌŋkn. 厚块,大块;
大数据之Phoenix环境搭建 Phoenix安装教程 阅读详情

相关推荐

使用Phoenix进行大数据处理

我们了解了Phoenix的安装和配置过程,并演示了如何使用Phoenix进行数据操作,包括创建表、插入数据、查询数据、更新数据和删除数据。Apache Phoenix是建立在Apache HBase之上的一个关系型数据库层,它提供了类似于传统关系数据库的SQL查询语言,并在HBase中执行这些查询。大数据处理是当前互联网时代的一个重要课题,而Apache Phoenix作为一种高性能、可扩展的大数据处理工具,为我们提供了一种方便快捷的方式来处理和分析海量数据。使用UPDATE语句可以更新表中的数据。

PixelInk的博客 444

phoenix

第1章phoenix的安装 对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫瞄的代价是不可接受的。 但是,很多情况下,需要从多个角度查询数据。例如,在定位某个人的时候,可以通过姓名、身份证号、学籍号等不同的角度来查询,要想把这么多角度的数据都放到row...

m0_46866655的博客 432

大数据技术之phoenix

对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫瞄的代价是不可接受的。但是,很多情况下,需要从多个角度查询数据。例如,在定位某个人的时候,可以通过姓名、身份证号、学籍号等不同的角度来查询,要想把这么多角度的数据都放到rowkey中几乎不可能(业务的灵活性不允许,对rowkey长度的要求也不允许)。所以,需要secondary index来完成这件事。

悦分享 1480

一文读懂大数据工具Phoenix:让你的数据管理更高效!

Phoenix,最初由saleforce开发并开源,后成为Apache基金会的顶级项目。它是一个构建在HBase上的SQL层,可以使用标准的JDBC APIs而不是HBase客户端APIs来创建表、插入数据和查询HBase中的数据。此外,Phoenix还完全使用Java编写,作为HBase内嵌的JDBC驱动,将SQL查询转换为一个或多个HBase扫描。

qq_45746668的博客 1246

大数据HBase(九):Apache Phoenix的安装

全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。 目录 前言 系列历史文章 安装Phoenix 一、下载 二、安装 1、上传安装包到Linux系统,并解压 2、将phoenix的所有jar包添加到所有HBaseRegionServer和Master的复制到HBase的lib目录 3、修改配置文件 4、将配置后的hbase-site.xml拷贝到phoenix的bin目录 5、重新启动HBase 6、启动Ph..

Lansonli(蓝深李)的博客 2053

OpenMV模块视觉测距(避障)+颜色识别+TFT-LCD显示(实现原理与代码分析)

上图所示代码实际运行的帧率比较低,主要原因有以下两个:1.硬件问题,博主使用的版本比较低,可以尝试使用高版本OpenMV2.图像滤波问题。之前加入图像滤波是想提高色块识别的准确性,但是相应的运算速度也会下降。

ediykk的博客 1万+

大数据组件详解:Spark、Hive、HBase、Phoenix 与 Presto

随着大数据技术的快速发展,各种大数据处理框架和工具也应运而生。其中,Spark、Hive、HBase、Phoenix 和 Presto 是广泛应用于大数据领域的几款核心组件,它们各自擅长处理不同类型的大数据任务。本文将详细介绍这些技术的特点、应用场景以及它们之间的区别和联系。

fudaihb的博客 3753

开关变换器分析:大信号模型与小信号模型

是电力电子系统建模中的两类基本方法,分别用于描述系统在不同工作条件下的动态行为。它们的核心区别在于是否对变量进行线性化近似,以及适用的分析场景。

创新改变世界! 1906

大数据之Phoenix基本介绍

Phoenix基本介绍

weixin_43339889的博客 1764

【无标题】 Python自动化法律文书撰写

Jinja2是一个功能强大的模板引擎,支持丰富的语法和功能。除了条件判断和循环语句外,Jinja2还支持过滤器、宏、继承等高级特性,非常适合处理复杂的文书模板。

master_chenchen的博客 2061

C#实战:如何用winmm.dll打造毫秒级高精度定时器(附完整代码)

本文详细介绍了在C#中利用winmm.dll实现毫秒级高精度定时器的完整方案。针对.NET内置定时器精度不足的问题,通过调用timeSetEvent等原生API,提供了超越系统时钟中断周期的精准定时能力。文章包含核心原理剖析、完整的封装类代码以及音视频处理、游戏开发等场景下的实战应用与性能调优指南。

ujm5678901的博客 689

大数据之Phoenix和Squirrel

apache-phoenix-5.0.0-HBase-2.0安装与简单使用 HBase版本:hbase-2.0.5 官网地址:https://hbase.apache.org/ Phoenix版本:phoenix-5.0.0-HBase-2.0 Phoenix官网地址:http://phoenix.apache.org/download.html Phoenix安装文档:http://phoenix.apache.org/installation.html 注意:hbase的版本一定要与phoenix的版本

蝈蝈 1288

MIPI DPHY接口(基于Xilinx FPGA实现)案例分析

在Xilinx FPGA实现MIPI DPHY接口的案例(包括CIS协议层)。截止目前为止,Xilinx仅在Ultrascale+及其以上版本的FPGA IO可直接支持MIPI 电平输入,其他的,都需要转换成LVDS来接收。

ONEFPGA的博客 5624

大数据技术之HBase整合 Phoenix(6)

Phoenix 是 HBase 的开源 SQL 皮肤。可以使用标准 JDBC API 代替 HBase 客户端 API 来创建表,插入数据和查询 HBase 数据。

qq_45115959的博客 1763

海康机器人visionmaster5.0全局通信西门子S7操作

德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包括S7-200、S7-1200、S7-300、S7-400、S7-1500等。西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。

weixin_65316120的博客 417

30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用

2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Driven Development,即通过开发维护了对应annotation(注解)的CDS view,结合SAP WebIDE,能够花费最少的编程代价,就能够在短时间内获得一个支持增删改查的Fiori应......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5947

CDH大数据平台安装phoenix-4.14.0

客户生产环境用的CDH 5.12.2企业版本,其他组件主要版本为kafka 0.9,hbase 1.2,spark1.6+spark2.1,phoenix4.14.0,JDK 1.7.0.67,由于公司开发时跟客户环境不完全一致,主要在HDP版本和apache版本的大数据平台测试相关应用,由于各种配置的问题,特别是Kerberos认证,导致线上运行特别不稳定。不得不在公司安装CDH的社区版来做基...

mlwise的专栏 878

Python爬虫技术应用:体育赛事直播数据抓取与分析

Web爬虫(Web Crawling)是一种通过模拟浏览器行为从网站获取数据的技术。发送请求:发送HTTP请求(通常是GET或POST请求)获取目标网页的HTML内容。解析网页:使用解析工具(如lxml)从HTML中提取出所需要的信息。存储数据:将抓取到的数据存储到数据库、文件或数据结构中,供后续分析和使用。数据分析与展示:使用数据分析工具(如PandasMatplotlib)对数据进行处理、清洗和可视化,生成有价值的报告和图表。Requests:用于发送静态网页的HTTP请求并获取响应。

2201_76125261的博客 1309

在 CDH 6.3 中安装 Phoenix 服务

下载并安装 Phoenix parcel、安装 CSD 文件、在 Cloudera Manager 中添加 Phoenix 服务(前提是已经安装了 HBase 服务)、配置 HBase 以用于 Phoenix、验证 Phoenix 安装

wzy0623的专栏 5399

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大数据-phoenix

大数据-phoenix 由于Hbase当中的数据查询方式比较单一,查询形式比较固定,所以一般都会对Hbase实现二级索引的开发,通过二级索引去更加方便快速的查询Hbase当中的数据,我们也可以通过phoenix与Hbase整合的方式实现通过jdbc的方式去查询Hbase当中的数据。 下载phoenix的安装包并解压 下载地址:http://archive.apache.org/dist/phoenix/ 这里我使用的是 ...

海恋北斗星 1718

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【项目】全栈开发医疗小程序 第1章 课程介绍 1.5 搭建HBase+Phoenix大数据平台

【项目】全栈开发医疗小程序 第1章 课程介绍 1.5 搭建HBase+Phoenix大数据平台

代码改变世界 1333

cdh的集成phoenix安装_在CDH5.14.2中安装Phoenix与使用

在CDH5.14.2中安装Phoenix与使用标签(空格分隔): 大数据平台构建一:安装及配置Phoenix二:Phoenix的基本操作三:使用Phoenix bulkload数据到HBase四:使用Phoenix从HBase中导出数据到HDFS一:安装及配置Phoenix1.0:phoienx 的介绍Phoenix中文翻译为凤凰, 其最早是Salesforce的一个开源项目,Salesforce...

weixin_39825854的博客 366

HBase 整合 Phoenix

HBase 整合 Phoenix

GG Bond 的博客 1605

大数据培训技术Phoenix安装部署

解压到/opt/module 改名为phoenix。向每个节点发送server jar。向每个节点发送client jar。在phoenix目录下。

zjjcchina的博客 143

大数据——Phoenix,Scala概述

Phoenix将类SQL在底层转化为HBase API操作来执行,所以Phoenix中的每一个字段对应了HBase的命令在Phoenix中,建表的时候需要指定一个或者多个字段作为主键,主键被映射成HBase的行键Phoenix在建表的时候,如果没有指定列族,那么这些列会默认被放入0列族注意:Phoenix会自动的将表明、列名等转化为大写形式,如果要保持小写形式,那么需要使用双引号来标记在HBase中,查询数据的时候,需要指定行键,通过行键来锁定数据。

大数据爱好者的博客 1303

Phoenix 之旅

Phoenix 之旅整合PhoenixPhoenix简介Phoenix快速入门Phoenix二级索引与Hive的集成 整合Phoenix Phoenix简介 Phoenix快速入门 Phoenix二级索引 与Hive的集成

记录点点滴滴 1963
上一篇: 大数据(5c)HBase优化
下一篇: 大数据(3g)HIVE开窗函数应用场景(不定更)
小基基o_O
博客等级 码龄9年 4413粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值