Paimon

SinceVersion dev

使用须知

  1. 数据放在hdfs时,需要将 core-site.xml,hdfs-site.xml 和 hive-site.xml 放到 FE 和 BE 的 conf 目录下。优先读取 conf 目录下的 hadoop 配置文件,再读取环境变量 HADOOP_CONF_DIR 的相关配置文件。
  2. 当前适配的paimon版本为0.6.0

创建 Catalog

Paimon Catalog 当前支持两种类型的Metastore创建Catalog:

  • filesystem(默认),同时存储元数据和数据在filesystem。
  • hive metastore,它还将元数据存储在Hive metastore中。用户可以直接从Hive访问这些表。

基于FileSystem创建Catalog

2.0.1 及之前版本,请使用后面的 基于Hive Metastore创建Catalog

HDFS

  1. CREATE CATALOG `paimon_hdfs` PROPERTIES (
  2. "type" = "paimon",
  3. "warehouse" = "hdfs://HDFS8000871/user/paimon",
  4. "dfs.nameservices" = "HDFS8000871",
  5. "dfs.ha.namenodes.HDFS8000871" = "nn1,nn2",
  6. "dfs.namenode.rpc-address.HDFS8000871.nn1" = "172.21.0.1:4007",
  7. "dfs.namenode.rpc-address.HDFS8000871.nn2" = "172.21.0.2:4007",
  8. "dfs.client.failover.proxy.provider.HDFS8000871" = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
  9. "hadoop.username" = "hadoop"
  10. );

MINIO

注意:

用户需要手动下载paimon-s3-0.6.0-incubating.jar

放在${DORIS_HOME}/be/lib/java_extensions/preload-extensions目录下并重启be。

从 2.0.2 版本起,可以将这个文件放置在BE的 custom_lib/ 目录下(如不存在,手动创建即可),以防止升级集群时因为 lib 目录被替换而导致文件丢失。

  1. CREATE CATALOG `paimon_s3` PROPERTIES (
  2. "type" = "paimon",
  3. "warehouse" = "s3://bucket_name/paimons3",
  4. "s3.endpoint" = "http://<ip>:<port>",
  5. "s3.access_key" = "ak",
  6. "s3.secret_key" = "sk"
  7. );

COS

注意:

用户需要手动下载paimon-s3-0.6.0-incubating.jar

放在 ${DORIS_HOME}/be/lib/java_extensions/preload-extensions 目录下并重启be。

从 2.0.2 版本起,可以将这个文件放置在BE的 custom_lib/ 目录下(如不存在,手动创建即可),以防止升级集群时因为 lib 目录被替换而导致文件丢失。

  1. CREATE CATALOG `paimon_s3` PROPERTIES (
  2. "type" = "paimon",
  3. "warehouse" = "cosn://paimon-1308700295/paimoncos",
  4. "cos.endpoint" = "cos.ap-beijing.myqcloud.com",
  5. "cos.access_key" = "ak",
  6. "cos.secret_key" = "sk"
  7. );

OSS

注意:

用户需要手动下载paimon-oss-0.6.0-incubating.jar 放在 ${DORIS_HOME}/be/lib/java_extensions/preload-extensions 目录下并重启be

  1. CREATE CATALOG `paimon_oss` PROPERTIES (
  2. "type" = "paimon",
  3. "warehouse" = "oss://paimon-zd/paimonoss",
  4. "oss.endpoint" = "oss-cn-beijing.aliyuncs.com",
  5. "oss.access_key" = "ak",
  6. "oss.secret_key" = "sk"
  7. );

基于Hive Metastore创建Catalog

  1. CREATE CATALOG `paimon_hms` PROPERTIES (
  2. "type" = "paimon",
  3. "paimon.catalog.type" = "hms",
  4. "warehouse" = "hdfs://HDFS8000871/user/zhangdong/paimon2",
  5. "hive.metastore.uris" = "thrift://172.21.0.44:7004",
  6. "dfs.nameservices" = "HDFS8000871",
  7. "dfs.ha.namenodes.HDFS8000871" = "nn1,nn2",
  8. "dfs.namenode.rpc-address.HDFS8000871.nn1" = "172.21.0.1:4007",
  9. "dfs.namenode.rpc-address.HDFS8000871.nn2" = "172.21.0.2:4007",
  10. "dfs.client.failover.proxy.provider.HDFS8000871" = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
  11. "hadoop.username" = "hadoop"
  12. );

列类型映射

Paimon Data TypeDoris Data TypeComment
BooleanTypeBoolean
TinyIntTypeTinyInt
SmallIntTypeSmallInt
IntTypeInt
FloatTypeFloat
BigIntTypeBigInt
DoubleTypeDouble
VarCharTypeVarChar
CharTypeChar
DecimalType(precision, scale)Decimal(precision, scale)
TimestampType,LocalZonedTimestampTypeDateTime
DateTypeDate
MapTypeMap支持Map嵌套
ArrayTypeArray支持Array嵌套
VarBinaryType, BinaryTypeBinary