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 Type Doris Data Type Comment
BooleanType Boolean
TinyIntType TinyInt
SmallIntType SmallInt
IntType Int
FloatType Float
BigIntType BigInt
DoubleType Double
VarCharType VarChar
CharType Char
DecimalType(precision, scale) Decimal(precision, scale)
TimestampType,LocalZonedTimestampType DateTime
DateType Date
MapType Map 支持Map嵌套
ArrayType Array 支持Array嵌套
VarBinaryType, BinaryType Binary