Greenplum使用hbase外部表

概述

GP可以通过pxf协议上的hbase外表功能, 在数据库中创建外部表,映射hbase table,以直接在gp中访问 hbase数据,方便将hbase的查询结果集保留在gp中

hbase端准备

HBase基础概念:
•HBase 列包含两个组件:列簇和列限定词。 这些组件由冒号 : 分隔, :
•HBase 行由一个行键和一个或多个列值组成。 行键是表行的唯一标识符
•HBase 表是由具有一个或多个列的数据行组成的多维映射。 创建HBase表时,可以指定一组完整的列簇
•HBase 单元由行(列簇, 列限定词, 列值)和时间戳组成。 给定单元格中的列值和时间戳表示该值的版本

示例: 创建一个HBase表

1.在 default 命名空间中创建一个名为 order_info 的HBase表。 order_info 具有两个列簇: product 和 shipping_info:

hbase(main):> create 'order_info', 'product', 'shipping_info'

2.order_info product 列簇具有名为 name 和 location 的列标识符。shipping_info 列簇具有名为 state 和 zipcode 的列标识符。 将一些数据添加到 order_info 表中:

put 'order_info', '1', 'product:name', 'tennis racquet'
put 'order_info', '1', 'product:location', 'out of stock'
put 'order_info', '1', 'shipping_info:state', 'CA'
put 'order_info', '1', 'shipping_info:zipcode', '12345'
put 'order_info', '2', 'product:name', 'soccer ball'
put 'order_info', '2', 'product:location', 'on floor'
put 'order_info', '2', 'shipping_info:state', 'CO'
put 'order_info', '2', 'shipping_info:zipcode', '56789'
put 'order_info', '3', 'product:name', 'snorkel set'
put 'order_info', '3', 'product:location', 'warehouse'
put 'order_info', '3', 'shipping_info:state', 'OH'
put 'order_info', '3', 'shipping_info:zipcode', '34567'

在本主题后面的示例中,您将通过PXF直接访问 orders_info HBase 表。

3.显示 order_info 表的内容:

hbase(main):006:0> scan 'order_info'
ROW                                            COLUMN+CELL1                                             column=product:location, timestamp=1711619646590, value=out of stock1                                             column=product:name, timestamp=1711619646553, value=tennis racquet1                                             column=shipping_info:state, timestamp=1711619646608, value=CA1                                             column=shipping_info:zipcode, timestamp=1711619646624, value=123452                                             column=product:location, timestamp=1711619646653, value=on floor2                                             column=product:name, timestamp=1711619646639, value=soccer ball2                                             column=shipping_info:state, timestamp=1711619646667, value=CO2                                             column=shipping_info:zipcode, timestamp=1711619646680, value=567893                                             column=product:location, timestamp=1711619646710, value=warehouse3                                             column=product:name, timestamp=1711619646696, value=snorkel set3                                             column=shipping_info:state, timestamp=1711619646730, value=OH3                                             column=shipping_info:zipcode, timestamp=1711619625228, value=34567
3 row(s) in 0.0980 seconds

创建外表

  1. 创建语法:
CREATE EXTERNAL TABLE <table_name>( <column_name> <data_type> [, ...] | LIKE <other_table> )
LOCATION ('pxf://<hbase-table-name>?PROFILE=HBase')
FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');

<hbase‑table‑name> HBase表的名称
PROFILE PROFILE 关键字必须指定为 HBase
SERVER=<server_name> PXF用于访问数据的命名服务器配置。可选的; 如果未指定,PXF将使用default服务器。
FORMAT FORMAT 子句必须指定为 ‘CUSTOM’ (FORMATTER=‘pxfwritable_import’)

  1. 数据类型映射:
    HBase是基于字节的; 它将所有数据类型存储为字节数组。 要在Greenplum数据库中表示HBase数据,请为Greenplum数据库列选择与HBase列标识符值的底层内容匹配的数据类型。
    注意: PXF不支持复杂HBase对象

  2. 查询测试

创建外表

CREATE EXTERNAL TABLE orderinfo_hbase ("recordkey" text,"product:name" varchar, "shipping_info:zipcode" int,"product:location" text,"shipping_info:state" int) LOCATION ('pxf://order_info?PROFILE=HBase') FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');

查询

postgres=# select * from orderinfo_hbase_gwtest;recordkey |  product:name  | shipping_info:zipcode
-----------+----------------+-----------------------1         | tennis racquet |                 123452         | soccer ball    |                 567893         | snorkel set    |                 34567
(3 rows)

取全部字段:注意字段与hbase映射字段之间的字段类型关系:

postgres=# CREATE EXTERNAL TABLE gwtest02 ("recordkey" text,"product:name" varchar, "shipping_info:zipcode" text,"product:location" text,"shipping_info:state" text) LOCATION ('pxf://o
CREATE EXTERNAL TABLEpostgres=# select * from gwtest02;recordkey |  product:name  | shipping_info:zipcode | product:location | shipping_info:state
-----------+----------------+-----------------------+------------------+---------------------1         | tennis racquet | 12345                 | out of stock     | CA2         | soccer ball    | 56789                 | on floor         | CO3         | snorkel set    | 34567                 | warehouse        | OH

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

粒子辐照环境中相机镜头防护及LabVIEW图像处理注意事项

在粒子辐照环境测试电路板性能的实验中&#xff0c;需要对相机镜头进行有效防护&#xff0c;同时利用LabVIEW进行图像识别和处理。本文将讨论相机镜头防护的关键因素和LabVIEW处理过程中的注意事项&#xff0c;包括防辐射材料选择、辐射屏蔽措施、散热管理、空间布局及LabVIEW软…

c++11:左值引用和右值引用《全家桶》

总结一下C11中涉及到左值引用和右值引用的场景。 1 左值引用和右值引用的区别 左值引用 定义&#xff1a;对左值的引用。目的是避免内存拷贝&#xff0c;类似c中的指针,两个场景&#xff1a;函数传参、函数返回值。 右值引用 定义&#xff1a;对右值的引用。两个场景&#…

【机器学习-k近邻算法-01】 | Scikit-Learn工具包进阶指南:机器学习sklearn.neighbors模块之k近邻算法实战

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

骑行 - 新区永旺出发的环太湖路线

环过好几次太湖&#xff0c;但对路线都没太在意&#xff0c;都是跟着别人走的。这次自己制定一个路书&#xff0c;方便下次自己一个人环太湖时使用。 开始是使用高德地图做路书&#xff0c;只能在PC上做。我用的是网页版&#xff0c;每次选点太麻烦了。要输入地址搜索&#xff…

开源博客项目Blog .NET Core源码学习(27:App.Hosting项目结构分析-15)

本文学习并分析App.Hosting项目中后台管理页面的角色管理页面。   角色管理页面用于显示、检索、新建、编辑、删除角色数据同时支持按角色分配菜单权限&#xff0c;以便按角色控制后台管理页面的菜单访问权限。角色管理页面附带一新建及编辑页面&#xff0c;以支撑新建和编辑…

电缆厂可视化:提升生产透明度与运营效率

图扑电缆厂可视化系统通过实时监控和数据分析&#xff0c;提高生产过程的透明度和可控性&#xff0c;优化资源配置和质量管理&#xff0c;显著提升运营效率和产品质量。

启动SpringBoot项目及解决端口占用问题(指令版)

打包SpringBoot 项目 需要将 SpringBoot 项目进行打包。可以使用 Maven 的快捷工具&#xff0c;或者在项目的 pom.xml 文件所在目录执行以下命令&#xff1a; mvn clean package部署注意 Windows系统下&#xff0c;按照以下方式在cmd窗口以管理员身份允许使用命令启动spring…

Flutter 中的 StatefulBuilder 小部件:全面指南

Flutter 中的 StatefulBuilder 小部件&#xff1a;全面指南 在Flutter中&#xff0c;StatefulBuilder是一个高效的小部件&#xff0c;它根据给定的构建函数来构建widget&#xff0c;并在组件树中只对需要重新构建的部分进行更新。这使得它在性能优化方面非常有用&#xff0c;特…

电子电器架构 - AUTOSAR ON THE AIR

电子电器架构 - AUTOSAR ON THE AIR 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

Mybase长久破解

1、软件下载好之后&#xff0c;找到文件mybase8.ini文件 2、使用记事本打开&#xff0c;通过 Ctrl F 输入快速找到属性设置FirstUseOn.UserLic.App&#xff0c;将等号后面的数值删掉保存即可 3、使用防护中心–>自定义防护&#xff08;记得开启&#xff09; 4、添加规则…

Golang文件操作

文章目录 文件操作基本介绍普通的文件操作方式&#xff08;os包&#xff09;带缓冲的文件操作方式&#xff08;bufio包&#xff09;文件拷贝操作&#xff08;io包&#xff09; 命令行参数基本介绍解析命令行参数&#xff08;flag包&#xff09; JSON基本介绍JSON序列化JSON反序…

【MySQL精通之路】MySQL的使用(3)-连接到服务器的配置

目录 1.连接建立的命令选项 1.1.--default-auth 1.2.--hosthost_name, -h host_name 1.3.--password[pass_val], -p[pass_val] 1.4.--password1[pass_val] 1.5.--password2[pass_val] 1.6.--password3[pass_val] 1.7.--pipe, -W 1.8.--plugin-dirdir_name 1.9.--port…

【YOLOv10训练】:报错 AttributeError: ‘str‘ object has no attribute ‘view‘ 解决方法

YOLOv10训练报错 YOLOv10是在YOLOv8基础上修改的&#xff0c;即&#xff1a;训练方法和过程是相同的。 但按照v8训练程序train.py&#xff0c;如下所示&#xff0c;直接训练&#xff1a; from ultralytics import YOLO# Load a model model YOLO("ultralytics/cfg/mod…

真拿AI赚到钱的人,不在朋友圈里

1 最近有张两大AI巨头对比的梗图给我看乐了&#xff0c;玩儿AI的还在做产品&#xff0c;玩儿焦虑的已经在数钱了。 这也是在做AI&#xff0c;只不过是唉声叹气的ai。 要我说&#xff0c;现在缺的根本不是AI&#xff0c;而是【有用的AI】。 恩格斯老师说过一句话&#xff1a…

科林Linux6_网络

#include<sys/socket.h> #include<arpa/inet.h> //大小端转换 #include<netdb.h> //DNS一、Socket套接字 为了开发网络应用&#xff0c;系统提供一套API函数接口&#xff0c;用于网络应用开发&#xff0c;这些接口称为套接字函数 struct sockaddr_in…

数据库管理-第194期 网络加速RDMA初探(20240526)

数据库管理194期 2024-05-26 数据库管理-第194期 网络加速RDMA初探&#xff08;20240526&#xff09;1 概念2 发展3 使用总结 数据库管理-第194期 网络加速RDMA初探&#xff08;20240526&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE A…

英文 海量的学习句子比单独的记单词效果要好,格句致知。

英文 海量的学习句子比单独的记单词效果要好 句子有上下文、场景和时态等&#xff0c;能形成剧情&#xff0c;变得生动有趣。 如果一句没听懂&#xff0c;还继续听就是浪费时间了。要一句一句地深究&#xff0c;不然就要读好几遍&#xff0c;还得背诵。要深入理解&#xff0c…

不同的二叉搜索树(II)题解

toc &#x1f91a;我的博客 欢迎光临我的博客&#xff1a;https://blog.csdn.net/qq_52434217?typeblog &#x1f95b;前言 动态规划是常见的算法思路&#xff0c;动态规划在计算过程中保存了部分计算结果到内存中&#xff0c;以便于在进行下一次计算时可以直接从内存中获…

Ubuntu部署Dolphinscheduler单机版并配置PG数据库

1、下载并解压Dolphinscheduler DolphinScheduler | 下载 (apache.org) 下载完成后得tar.gz包 下载稳定版 下载稳定版 下载稳定版 tar -zxvf apache-dolphinscheduler-3.1.9-alpha-bin.tar.gz mv apache-dolphinscheduler-3.1.9-alpha-bin dolphinscheduler-bin cd dolph…

【Text2SQL】Spider 数据集

论文&#xff1a;Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task ⭐⭐⭐⭐⭐ EMNLP 2018, arXiv:1809.08887 Dataset: spider GitHub: github.com/taoyds/spider 一、论文速读 本文提出了 Text2SQL 方向的…