【问题标题】:Get actual target table insert count获取实际的目标表插入计数
【发布时间】:2017-09-13 08:59:39
【问题描述】:

我以追加模式将数据插入到 hive 外部表中。每次我在表中插入一些记录时,我都想获取插入到 hive 外部表中的实际记录的计数。有什么方法可以在任何配置单元日志文件中找到这些信息?

【问题讨论】:

    标签: hive


    【解决方案1】:

    可以解决此问题。不确定是否有任何蜂巢属性。

    • 在您的表中增加一个时间戳列。
    • 在时间戳列上对表执行自联接。
    • 统计最新插入表的记录。您可以查看以下示例查询:-

    SELECT count(1) from ( SELECT tbl_alias.* FROM test_table tbl_alias JOIN ( select max(timestamp_date) as max_timestamp_date FROM test_table) max_timestamp_date_table ON tbl_alias.timestamp_date=max_timestamp_date_table.max_timestamp_date ) outer_table;

    【讨论】:

    • 根据您的建议,您正在使用选择查询来计算 sert 中的行。想想记录数以百万计的情况。在这种情况下,每次都使用选择查询是不可行的,因为它会增加 ETL 时间。我正在寻找一个日志文件,我可以在其中获取插入的记录数,这将节省时间。
    猜你喜欢
    • 1970-01-01
    • 2015-06-10
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多