开发者社区> 问答> 正文

求问Hive DDL TBLPROPERTIES不生效怎么办?

SET table.sql-dialect=hive; CREATE TABLE hive_catalog.test_db.test_insert_tb ( id BIGINT, type INT, user_id BIGINT, title STRING, ts TIMESTAMP ) PARTITIONED BY (add_date STRING, add_hour STRING) STORED AS orc TBLPROPERTIES ( 'sink.partition-commit.trigger' = 'process-time', 'sink.partition-commit.delay' = '0s', 'sink.partition-commit.policy.kind' = 'metastore,success-file', 'partition.time-extractor.kind' = 'custom', 'partition.time-extractor.timestamp-pattern' = '$add_date $add_hour', 'partition.time-extractor.class' = 'xxxx.YMDPartTimeExtractor' );

如上在hive-dialect里建了一张表,启动任务后从kafka读然后写入,貌似TBLPROPERTIES里的参数一个都没生效,数据能从hdfs上看到,但是hive没有partition,分区也没有按照我class写的进行(我的class需要把分区弄成 yyyyMMdd, HH这种日期格式,同时修复+8时区),TM JM也没有任何exception,请问有见过这种情况的吗?是不是某个参数没搞对所以都没生效*来自志愿者整理的FLINK邮件归档

展开
收起
又出bug了-- 2021-12-03 16:58:16 476 0
1 条回答
写回答
取消 提交回答
  • sink.partition-commit.trigger设置成process-time的话是不按照分区值来提取timestamp的,设置成partition-time才可以,但请注意partition-time需要通过watermark来触发。更详细的信息可以参考文档: https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/filesystem.html#sink-partition-commit-trigger

    另外如果怀疑是语法问题导致参数没有正确设置的话,也可以在hive里describe一下这张表验证一下。*来自志愿者整理的FLINK邮件归档

    2021-12-03 17:54:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Comparison of Spark SQL with Hive 立即下载
Hive Bucketing in Apache Spark 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载