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

Apache Paimon 使用之Creating Catalogs

Paimon Catalog 目前支持两种类型的metastores:

filesystem metastore (default),在文件系统中存储元数据和表文件。
hive metastore,将metadata存储在Hive metastore中。用户可以直接从Hive访问表。

1.使用 Filesystem Metastore 创建 Catalog

Flink引擎

Flink SQL注册并使用名为my_catalog的Paimon catalog,元数据和表文件存储在hdfs:///path/to/warehouse下。

CREATE CATALOG my_catalog WITH ('type' = 'paimon','warehouse' = 'hdfs:///path/to/warehouse'
);USE CATALOG my_catalog;

在 Catalog 中创建的 tables,可以使用前缀table-default.定义任何默认表选项。

Spark3引擎

通过 shell 命令注册一个名为paimon的paimon catalog,元数据和表文件存储在hdfs:///path/to/warehouse下。

spark-sql ... \--conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog \--conf spark.sql.catalog.paimon.warehouse=hdfs:///path/to/warehouse

对于 catalog 中创建的 tables,可以使用前缀spark.sql.catalog.paimon.table-default.定义默认表选项。

spark-sql启动后,使用以下SQL切换到paimon目录的default数据库。

USE paimon.default;
2.使用 Hive Metastore 创建 Catalog

使用Paimon Hive catalog,对 catalog 的更改将直接影响相应的Hive metastore,在此类 catalog 中创建的表可以直接从 Hive 访问。

要使用Hive catalog,数据库名称、表名和字段名均应小写

Flink 引擎

Flink 中的Paimon Hive catalog依赖于Flink Hive connector bundled jar,首先要下载Hive connector bundled jar,并将其添加到classpath。

以下Flink SQL注册并使用名为my_hive的Paimon Hive catalog,元数据和表文件存储在hdfs:///path/to/warehouse下,元数据也存储在Hive metastore中。

如果Hive需要security authentication,如Kerberos、LDAP、Ranger,或者希望paimon表由Apache Atlas管理(在hive-site.xml中设置"hive.metastore.event.listeners"),可以在hive-site.xml文件路径中指定hive-conf-dir和hadoop-conf-dir参数。

CREATE CATALOG my_hive WITH ('type' = 'paimon','metastore' = 'hive',-- 'uri' = 'thrift://<hive-metastore-host-name>:<port>', default use 'hive.metastore.uris' in HiveConf-- 'hive-conf-dir' = '...', this is recommended in the kerberos environment-- 'hadoop-conf-dir' = '...', this is recommended in the kerberos environment-- 'warehouse' = 'hdfs:///path/to/warehouse', default use 'hive.metastore.warehouse.dir' in HiveConf
);USE CATALOG my_hive;

对于在 catalog 中创建的表,可以使用前缀table-default.定义默认表选项。

此外,还可以创建Flink Generic Catalog。

Spark3引擎

Spark需要包含Hive dependencies。

以下shell命令注册一个名为paimon的Paimon Hive Catalog,元数据和表文件存储在hdfs:///path/to/warehouse下,此外,元数据也存储在Hive metastore中。

spark-sql ... \--conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog \--conf spark.sql.catalog.paimon.warehouse=hdfs:///path/to/warehouse \--conf spark.sql.catalog.paimon.metastore=hive \--conf spark.sql.catalog.paimon.uri=thrift://<hive-metastore-host-name>:<port>

对于 Catalog 中创建的表,可以使用前缀spark.sql.catalog.paimon.table-default.定义默认表选项。

spark-sql启动后,可以使用以下SQL切换到paimon catalog的default数据库。

USE paimon.default;

此外,还可以创建Spark Generic Catalog。

当使用Hive Catalog通过alter table更改不兼容的列类型时,需要配置hive.metastore.disallow.incompatible.col.type.changes=false

如果使用的是Hive3,请禁用Hive ACID:

hive.strict.managed.tables=false
hive.create.as.insert.only=false
metastore.create.as.acid=false
3.在Properties中设置Location

如果使用的是对象存储,并且不希望paimon表/数据库的location被hive的文件系统访问,这可能会导致诸如“No filesystem for scheme:s3a”之类的错误,可以通过在属性中配置location来设置表/数据库的location-in-properties。

4.同步Partitions到Hive Metastore

默认,Paimon不会将新创建的分区同步到Hive metastore中,用户将在Hive中看到一个未分区的表,Partition push-down将改为通过filter push-down进行。

如果想在Hive中查看分区表,并将新创建的分区同步到Hive metastore中,请将表属性metastore.partitioned-table设置为true。

5.添加参数到Hive Table

使用table option有助于方便地定义Hive表参数,以hive.前缀的参数将在Hive表的TBLPROPERTIES中自动定义。例如,使用hive.table.owner=Jon将在创建过程中自动将表参数table.owner=Jon添加到表属性中。

6.CatalogOptions
KeyDefaultTypeDescription
fs.allow-hadoop-fallbacktrueBooleanAllow to fallback to hadoop File IO when no file io found for the scheme.
lineage-meta(none)StringThe lineage meta to store table and data lineage information. Possible values: “jdbc”: Use standard jdbc to store table and data lineage information.“custom”: You can implement LineageMetaFactory and LineageMeta to store lineage information in customized storage.
lock-acquire-timeout8 minDurationThe maximum time to wait for acquiring the lock.
lock-check-max-sleep8 sDurationThe maximum sleep time when retrying to check the lock.
lock.enabledfalseBooleanEnable Catalog Lock.
metastore“filesystem”StringMetastore of paimon catalog, supports filesystem and hive.
table.typemanagedEnumType of table. Possible values:“managed”: Paimon owned table where the entire lifecycle of the table data is managed.“external”: The table where Paimon has loose coupling with the data stored in external locations.
uri(none)StringUri of metastore server.
warehouse(none)StringThe warehouse root path of catalog.

FilesystemCatalogOptions

KeyDefaultTypeDescription
case-sensitivetrueBooleanIs case sensitive. If case insensitive, you need to set this option to false, and the table name and fields be converted to lowercase.

HiveCatalogOptions

KeyDefaultTypeDescription
hadoop-conf-dir(none)StringFile directory of the core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml. Currently, only local file system paths are supported. If not configured, try to load from ‘HADOOP_CONF_DIR’ or ‘HADOOP_HOME’ system environment. Configure Priority: 1.from ‘hadoop-conf-dir’ 2.from HADOOP_CONF_DIR 3.from HADOOP_HOME/conf 4.HADOOP_HOME/etc/hadoop.
hive-conf-dir(none)StringFile directory of the hive-site.xml , used to create HiveMetastoreClient and security authentication, such as Kerberos, LDAP, Ranger and so on. If not configured, try to load from ‘HIVE_CONF_DIR’ env.
location-in-propertiesfalseBooleanSetting the location in properties of hive table/database. If you don’t want to access the location by the filesystem of hive when using a object storage such as s3,oss you can set this option to true.

FlinkCatalogOptions

KeyDefaultTypeDescription
default-database“default”String
disable-create-table-in-default-dbfalseBooleanIf true, creating table in default database is not allowed. Default is false.

相关文章:

Apache Paimon 使用之Creating Catalogs

Paimon Catalog 目前支持两种类型的metastores&#xff1a; filesystem metastore (default)&#xff0c;在文件系统中存储元数据和表文件。 hive metastore&#xff0c;将metadata存储在Hive metastore中。用户可以直接从Hive访问表。 1.使用 Filesystem Metastore 创建 Cat…...

IntelliJ IDEA分支svn

IntelliJ IDEA分支svn 【为何使用分支】 项目开发中经常会遇到这种情况&#xff0c;项目中功能开发完上线后&#xff0c;新的需求又来了&#xff0c;风风火火的在项目里开发&#xff0c; 突然有一天测试说有个很致命的bug需要紧急修改上线&#xff0c;完蛋了&#xff0c;原来…...

.NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例

在本文中&#xff0c;我们将详细介绍.NET Core日志内容&#xff0c;包括不同日志级别的区别&#xff0c;以及一些常用的日志记录实用工具和第三方库。同时&#xff0c;我们还将通过示例来展示如何使用这些工具和库。 一、.NET Core日志级别 .NET Core日志系统提供了五种日志级…...

Vue开发实例(七)Axios的安装与使用

说明&#xff1a; 如果只是在前端&#xff0c;axios常常需要结合mockjs使用&#xff0c;如果是前后端分离&#xff0c;就需要调用对应的接口&#xff0c;获取参数&#xff0c;传递参数&#xff1b;由于此文章只涉及前端&#xff0c;所以我们需要结合mockjs使用&#xff1b;由于…...

2024.3.6

作业1&#xff1a;使用C语言完成数据库的增删改 #include <myhead.h>//定义添加员工信息函数 int Add_worker(sqlite3 *ppDb) {//准备sql语句printf("请输入要添加的员工信息:\n");//从终端获取员工信息char rbuf[128]"";fgets(rbuf,sizeof(rbuf),s…...

抖音视频批量采集软件|视频评论下载工具

在日常工作中&#xff0c;需要频繁下载抖音视频&#xff0c;但逐个复制分享链接下载效率太低&#xff1f;别担心&#xff01;我们推出了一款专业的抖音视频批量采集软件&#xff0c;基于C#开发&#xff0c;满足您的需求&#xff0c;让您通过关键词搜索视频并自动批量抓取&#…...

苹果 Vision Pro零售部件成本价格分析

苹果公司发布的全新头戴式显示器 Apple Vision Pro 虽然售价高达3499美元&#xff0c;但其制造成本同样不菲&#xff0c;根据研究机构 Omdia 的估计&#xff0c;该头显仅零部件成本就超过了1500美元。这款头显的总零部件成本估计为1542美元&#xff0c;这还并不包括研发、包装、…...

Seurat 中的数据可视化方法

本文[1]将使用从 2,700 PBMC 教程计算的 Seurat 对象来演示 Seurat 中的可视化技术。您可以从 SeuratData[2] 下载此数据集。 SeuratData::InstallData("pbmc3k")library(Seurat)library(SeuratData)library(ggplot2)library(patchwork)pbmc3k.final <- LoadData(…...

ImportError: cannot import name ‘InterpolationMode‘

InterpolationMode 在图像处理库中通常用于指定图像缩放时的插值方法。插值是一种数学方法&#xff0c;在图像大小变化时用于估算新像素位置的像素值。不同的插值方法会影响缩放后图像的质量和外观。 在你提供的 image_transform 函数中&#xff0c;InterpolationMode.BICUBIC…...

HSRP和VRRP

VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由器冗余协议&#xff09; 是一种网络层的容错协议&#xff0c;主要用于在多台路由器之间提供默认网关冗余。在IP网络中&#xff0c;当一个子网有多个路由器时&#xff0c;VRRP可以确保在主用路由器失效…...

C及C++每日练习(1)

一.选择&#xff1a; 1.以下for循环的执行次数是&#xff08;&#xff09; for(int x 0, y 0; (y 123) && (x < 4); x); A.是无限循环 B.循环次数不定 C.4次 D.3次 对于循环&#xff0c;其组成部分可以四个部分&#xff1a; for(初始化;循环进行条件;调整) …...

Oracle 12c dataguard查看主备库同步情况的新变化

导读 本文介绍Oracle 12c dataguard在维护方面的新变化 前提&#xff1a;主库备库的同步是正常的。 1、主库上查看archive Log list SYScdb1> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination…...

时间序列-AR MA ARIMA

一、AR模型(自回归) AR探索趋势和周期性 预测依赖于过去的观测值和模型中的参数。模型的阶数 p pp 决定了需要考虑多少个过去时间点的观测值。 求AR模型的阶数 p和参数 ϕ i \phi_i ϕi​ &#xff0c;常常会使用统计方法如最小二乘法、信息准则&#xff08;如AIC、BIC&#xf…...

Spring Boot(六十六):集成Alibaba Druid 连接池

1 Alibaba Druid介绍 在现代的Java应用中,使用一个高效可靠的数据源是至关重要的。Druid连接池作为一款强大的数据库连接池,提供了丰富的监控和管理功能,成为很多Java项目的首选。本文将详细介绍如何在Spring Boot项目中配置数据源,集成Druid连接池,以实现更高效的数据库…...

leetcode 经典题目42.接雨水

链接&#xff1a;https://leetcode.cn/problems/trapping-rain-water 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 思路分析 首先&#xff0c;我们需要遍历数组&#xff0c;对于每个元素&am…...

高防服务器的主要作用有哪些?

高防服务器是属于服务器的一种&#xff0c;主要是为了解决流量攻击而设计的&#xff0c;高防服务器能够维护服务器的稳定性和安全性&#xff0c;具备很高的防御能力和更加优质的网络带宽&#xff0c;能够提供更加可靠的服务保障&#xff0c;那么高防服务器主要都有哪些作用呢&a…...

【30 天 JavaScript 挑战】学习笔记

30 天 JavaScript 挑战 专为 JavaScript 初学者设计 掌握必备 JavaScript 技能 前端人&#xff0c;前端魂&#xff0c;刷完 JS 即入门! 题目地址&#xff1a;https://leetcode.cn/studyplan/30-days-of-javascript/ 个人学习笔记&#xff1a;https://github.com/kaimo313/…...

生成 Linux/ubuntu/Debian 上已安装软件包的列表

你可以在终端中使用以下命令生成已安装软件包的列表&#xff1a; 列出所有已安装的软件包&#xff1a; dpkg --get-selections要将列表保存到文件中&#xff1a; dpkg -l > installed_packages_detailed.txt这将在当前目录中创建一个名为“installed_packages_detailed.txt”…...

精品中国货出海wordpress外贸独立站建站模板

旗袍唐装wordpress外贸网站模板 旗袍、唐装、华服wordpress外贸网站模板&#xff0c;适合做衣服生意的外贸公司官网使用。 https://www.jianzhanpress.com/?p3695 劳动防护wordpress外贸独立站模板 劳动防护wordpress外贸独立站模板&#xff0c;劳动保护、劳动防护用品外贸…...

使用Animated.View实现全屏页面可以向下拖动,松开手指页面返回原处的效果

使用Animated.View实现全屏页面可以向下拖动,松开手指页面返回原处的效果 效果示例图代码示例 效果示例图 代码示例 import React, {useRef, useState} from react; import {View,Text,Animated,Easing,PanResponder,StyleSheet, } from react-native;const TestDragCard () …...

宝塔面板计划任务设置教程

宝塔面板的计划任务&#xff0c;就是服务器的定时执行工具&#xff0c;不用手动敲命令&#xff0c;可视化界面就能设置&#xff0c;能实现自动备份、定时重启、清理缓存、执行脚本等多种自动化操作。下面详细讲解完整设置步骤、常用任务配置和避坑技巧。一、进入计划任务页面1.…...

FireRedASR Pro应用案例:会议录音转文字,提升工作效率实测

FireRedASR Pro应用案例&#xff1a;会议录音转文字&#xff0c;提升工作效率实测 1. 会议记录痛点与解决方案 1.1 传统会议记录的效率瓶颈 在职场工作中&#xff0c;会议记录是一项耗时且容易出错的任务。根据调研数据显示&#xff1a; 普通员工平均每周花费4-6小时在会议…...

3大突破!GenUI重构Flutter界面开发范式

3大突破&#xff01;GenUI重构Flutter界面开发范式 【免费下载链接】genui 项目地址: https://gitcode.com/gh_mirrors/genui1/genui GenUI是一个革命性的Flutter库&#xff0c;它通过AI驱动的动态界面生成技术&#xff0c;彻底改变了传统UI开发流程。作为连接自然语言…...

Python+PySpark+Hadoop房价预测系统 房价预测 房源推荐系统 二手房推荐系统 随机森林回归预测模型、链家二手房 可视化大屏

1、项目 介绍 技术栈&#xff1a; Python房价预测分析系统 毕业设计 大屏 爬虫 机器学习 Flask框架、Echarts可视化、requests 爬虫、随机森林回归预测模型、链家二手房2、项目界面 &#xff08;1&#xff09;数据可视化大屏&#xff08;2&#xff09;房价预测&#xff08;3&am…...

yfinance终极指南:5分钟掌握免费金融数据获取

yfinance终极指南&#xff1a;5分钟掌握免费金融数据获取 【免费下载链接】yfinance Download market data from Yahoo! Finances API 项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance 在金融分析和量化投资领域&#xff0c;高质量的数据是一切分析的基础。…...

表单验证库终极对比:Yup、Zod与Joi哪个更适合OpenResume项目?

表单验证库终极对比&#xff1a;Yup、Zod与Joi哪个更适合OpenResume项目&#xff1f; 【免费下载链接】open-resume OpenResume is a powerful open-source resume builder and resume parser. https://open-resume.com/ 项目地址: https://gitcode.com/gh_mirrors/op/open-r…...

深入解析ACS SPiiPlus运动控制器的托管接口设计与实现

1. ACS SPiiPlus运动控制器托管接口概述 在工业自动化领域&#xff0c;运动控制器的性能直接影响着设备的精度和效率。ACS SPiiPlus系列作为业内知名的高性能运动控制器&#xff0c;其托管接口设计一直是工程师们关注的焦点。这套接口本质上是一套软件中间层&#xff0c;它架起…...

跨平台核心工具集全场景部署指南:从环境适配到性能优化

跨平台核心工具集全场景部署指南&#xff1a;从环境适配到性能优化 【免费下载链接】coreutils 跨平台的 Rust 重写 GNU 核心工具集。 项目地址: https://gitcode.com/GitHub_Trending/co/coreutils 需求场景&#xff1a;打破系统壁垒的命令行工具统一方案 在多系统开发…...

青少年软编等考六级题解目录

这个专栏发布中国电子学会主办的青少年软件编程等级考试 C 语言六级题目解析&#xff0c;每篇文章包含一次考试的全部 444 道题目的思路解析。由于考级允许使用 C/C 语言&#xff0c;因此解析中给出的参考代码均为 C 代码。为了方便大家查找&#xff0c;特此发布一篇文章作为目…...

InstructPix2Pix真实体验:保留原图结构的智能修图,到底有多好用?

InstructPix2Pix真实体验&#xff1a;保留原图结构的智能修图&#xff0c;到底有多好用&#xff1f; 1. 颠覆传统的修图体验 作为一名长期与图像处理打交道的技术从业者&#xff0c;我第一次使用InstructPix2Pix时的感受可以用"惊艳"来形容。传统的图像编辑工具需要…...