您当前的位置: 首页 >  hadoop

Bulut0907

暂无认证

  • 1浏览

    0关注

    346博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Iceberg数据湖的Table、Catalog、Hadoop配置Configuration

Bulut0907 发布时间:2022-04-12 10:20:20 ,浏览量:1

目录
  • 1. Configuration
    • 1.1 table properties
      • 1.1.1 Read properties
      • 1.1.2 Write properties
      • 1.1.3 Table behavior properties
      • 1.1.4 Reserved table properties
      • 1.1.4 Compatibility flags
    • 1.2 Catalog properties
      • 1.2.1 Lock catalog properties
    • 1.3 Hadoop configuration

1. Configuration 1.1 table properties 1.1.1 Read properties

因为Iceberg在HDFS上的data文件,通常都是一个个的小文件,所以读取的时候会先进行combine,然后再返回数据。下面是进行combine的一些配置

Property默认描述read.split.target-size134217728 (128 MB)合并data输入文件的目标大小read.split.metadata-target-size33554432 (32 MB)合并metadata输入文件的目标大小read.split.planning-lookback10合并输入文件时,计划使用的垃圾箱数量read.split.open-file-cost4194304 (4 MB)合并输入文件时,预估打开一个输入文件的成本大小 1.1.2 Write properties Property默认描述write.format.defaultparquet表默认的file format,可选参数为parquet、avro、orcwrite.parquet.row-group-size-bytes134217728 (128 MB)Parquet row group sizewrite.parquet.page-size-bytes1048576 (1 MB)Parquet page sizewrite.parquet.dict-size-bytes2097152 (2 MB)Parquet dictionary page sizewrite.parquet.compression-codecgzipParquet压缩编码格式,可选参数为zstd、brotli、lz4、gzip、snappy、uncompressedwrite.parquet.compression-levelnullParquet compression levelwrite.avro.compression-codecgzipAvro压缩编码格式,可选参数为gzip(deflate with 9 level)、gzip、snappy、uncompressedwrite.metadata.compression-codecnoneMetadata压缩编码格式,可选参数为none、gzipwrite.metadata.metrics.defaulttruncate(16)表中所有列默认的metrics模式,可选的参数为none、counts、truncate(length)、fullwrite.metadata.metrics.column.col-name(not set)表中某一列的metrics模式,可选的参数为none、counts、truncate(length)、fullwrite.target-file-size-bytes536870912 (512 MB)写入文件的目标大小write.distribution-modenone定义写入数据的分布式情况,可选参数为:1. none: 不shuffle数据,2. hash: 根据partition key进行hash分布,3. range: 根据partition key或者sort key进行范围分布write.wap.enabledfalseEnables write-audit-publish writeswrite.summary.partition-limit0如果changed partition count小于当前参数,则snapshot summaries包含partition-level汇总状态write.metadata.delete-after-commit.enabledfalse当表commit之后,是否删除oldest version metadata fileswrite.metadata.previous-versions-max100当表commit之后,保留最大历史version metadata files数量,超过该历史版本数量的将被删除write.spark.fanout.enabledfalse在Spark中开启Partitioned-Fanout-Writer writes 1.1.3 Table behavior properties Property默认描述commit.retry.num-retries4在失败前,commit重试的次数commit.retry.min-wait-ms100当一次commit失败,到再次进行commit,之间的最小时间间隔commit.retry.max-wait-ms60000 (1 min)当一次commit失败,到再次进行commit,之间的最大时间间隔commit.retry.total-timeout-ms1800000 (30 min)当一个commit进行多次重试时,累计的重试超时时间commit.status-check.num-retries3当一个connection丢失,导致一个未知的commit状态,需要进行多少次status-check,去判断一个commit是否成功commit.status-check.min-wait-ms1000 (1s)当一次status-check完成,到下一次status-check,之间的最小时间间隔commit.status-check.max-wait-ms60000 (1 min)当一次status-check完成,到下一次status-check,之间的最大时间间隔commit.status-check.total-timeout-ms1800000 (30 min)当进行多次status-check时,累计的check超时时间commit.manifest.target-size-bytes8388608 (8 MB)合并manifest files的目标大小commit.manifest.min-count-to-merge100当manifest files的数量最少达到多少时,才进行合并commit.manifest-merge.enabledtrue写的时候是否自动合并manifest fileshistory.expire.max-snapshot-age-ms432000000 (5 days)默认最大的snapshot过期时间history.expire.min-snapshots-to-keep1当所有snapshot都过期时,默认最小保留多少个snapshot不过期history.expire.max-ref-age-msLong.MAX_VALUE (forever)对于snapshot references(除了main branch,main branch永远不会过期),默认最大snapshot references过期时间 1.1.4 Reserved table properties

只在创建或更新表的时候使用,并不会作为表metadata保存下来

Property默认描述format-version1表的format version,即版本1和版本2,可选的参数为1、2 1.1.4 Compatibility flags Property默认描述compatibility.snapshot-id-inheritance.enabledfalse开启提交没有显式snapshot IDs的snapshots 1.2 Catalog properties Property默认描述warehousenull数据仓库的根路径urinullURI字符串,比如Hive metastore URIclients2客户端池大小 1.2.1 Lock catalog properties

关于catalog lock相关的配置,用来控制commit期间的lock行为

Property默认描述lock.tablenull用于lock的辅助表lock.acquire-interval-ms5 secondsthe interval to wait between each attempt to acquire a lock在两次尝试获取lock之间的时间间隔lock.acquire-timeout-ms3 minutes尝试获取lock所花费的的最大时间lock.heartbeat-interval-ms3 seconds当获取lock之后,两次心跳之间的时间间隔lock.heartbeat-timeout-ms15 seconds当没有心跳超过多久,lock被认为过期 1.3 Hadoop configuration

用于Hive Metastore connector

Property默认描述iceberg.hive.client-pool-size5当追踪HMS中的表,Hive客户端连接池的大小iceberg.hive.lock-timeout-ms180000 (3 min)获取一个lock所花费的最大时间,单位毫秒iceberg.hive.lock-check-min-wait-ms50检查获取到的lock状态,所花费的最小时间,单位毫秒iceberg.hive.lock-check-max-wait-ms5000检查获取到的lock状态,所花费的最大时间,单位毫秒。该参数应该小于Hive Metastore的事务超时时间,即hive.txn.timeout或metastore.txn.timeout(新版本)
关注
打赏
1664501120
查看更多评论
立即登录/注册

微信扫码登录

0.0382s