`

批量日志数据库外表写入

 
阅读更多
#创建外链表映射日志文件

audience_attributes_path = "gphdfs://xxx/audience_attributes/#{batch_id}"

create_sql = <<-eos
        create writable external table #{audience_attributes_table} (
          opxpid varchar(60),
          hash_key varchar(50),
          hash_value text
        )
       
        location ('#{audience_attributes_path}')
        format 'text';
        eos

AudienceStructure.connection.execute(create_sql)

#表数据插入

insert_sql = <<-sql
        insert into #{audience_attributes_table}
        select opxpid, hash_key, array_to_string(jx_array_sort(madlib.array_agg(audience_id)), ',')
        from (
        select opxpid, hash_key, hash_value audience_id
        from #{master_table}
        where hash_key = 'aids'
        and hash_value in (#{aids.uniq.join(",")})
        ) m
        group by 1, 2;
        sql

AudienceStructure.connection.execute(insert_sql)


#保留12个表超过12的删除。

drop_tables("select 'drop external table workspace.' || relname || ';' cmd from pg_class where relname like 'audience_segments_hdfs_%' order by 1")

def drop_tables(sql, col_name="cmd")
        drop_sqls = AudienceStructure.connection.select_all(sql)
        # only keep latest 12 tables
        if drop_sqls.size > 12
          drop_sqls[0..drop_sqls.size-13].each do |drop_sql|
            AudienceStructure.connection.execute(drop_sql[col_name])
          end
        end
   end
0
0
分享到:
评论

相关推荐

    C#批量修改数据库

    批量修改数据库是指将大量数据一次性写入数据库,而不是逐条修改数据库,提高了数据处理效率。 描述解释 描述部分提到"用C#编写数据库程序时,逐条修改效率低,本文通过整合数据后批次写入数据库",这说明了在使用...

    excel批量导入数据库

    本篇文章将详细讲解如何实现“Excel批量导入数据库”,以及利用小工具提高效率。 一、Excel与数据库的交互原理 Excel数据批量导入数据库的过程涉及数据的读取、转换和存储。首先,Excel文件(通常是.XLSX或.XLS格式...

    C#读取大文本文件(4G)并将其批量写入数据库(每次100万条).zip

    本示例聚焦于使用C#语言读取大型文本文件(如4GB大小)并将其批量写入数据库(每次处理100万条记录)。这种操作在大数据处理场景下尤为常见,因为一次性读取和处理整个大文件可能会导致内存溢出,因此采用分批处理的...

    批量插入数据库方法

    在执行批量插入过程中,可能会遇到数据异常、连接问题等,应设置合适的错误处理机制,如捕获异常并记录日志,以便分析和修复问题。 通过以上方法,你可以使用C#实现高效、可靠的数据库批量插入操作。在实际项目中...

    Java实现批量向mysql写入数据的方法

    本文中提供了一个完整的示例代码,演示了Java实现批量向mysql写入数据的方法,包括JDBC连接mysql数据库、批量向mysql写入数据和基本的异常处理等操作。该示例代码可以作为Java程序设计的参考,帮助读者更好地理解...

    技术支持利用JSON数据批量操作数据库(插入、更新)

    本篇文章详细介绍了如何利用JSON数据批量操作数据库(插入、更新),包括JSON数据的解析、数据库的连接与操作以及异常处理等方面的知识点。通过这些知识点的学习,读者可以更好地理解和应用相关的技术,在实际项目...

    Flink 流数据批量写入数据库

    因此,本文将详细介绍如何在 Flink 中实现流数据的批量写入数据库,以提高效率并减轻数据库的压力。 首先,为了实现批量写入,我们可以利用 Flink 的窗口(Window)功能。窗口可以将连续的数据流分成多个时间间隔的...

    C# 利用log4net 把日志写入到数据库

    通过log4net,C#开发者可以轻松地将日志信息写入到数据库,便于后期的数据分析和问题排查。合理配置和使用log4net,不仅能提高开发效率,还能确保系统的稳定性和可靠性。在实际项目中,可以根据具体需求调整log4net...

    log4j使用与java中log4j记录日志如何写入数据库

    本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...

    log4j日志写入数据库实例

    本文将深入探讨如何使用Log4j将日志信息写入数据库,以实现更高级别的日志管理和分析。 首先,理解Log4j的基本概念至关重要。Log4j是一个开源的日志记录工具,它允许开发者以灵活的方式控制日志信息的输出。通过...

    C#.NET中如何批量插入大量数据到数据库中

    在C#.NET中批量插入大量数据到数据库是一个常见的任务,特别是在处理诸如从Excel文件导入数据等场景时。这里,我们将探讨如何使用C#.NET高效地完成这个任务,并提供一个简单的示例来说明整个过程。 首先,我们需要...

    C#读取大文本文件_将其批量写入数据库_Demo

    在C#编程中,处理大文本文件并将其批量写入...总的来说,这个示例教会了我们如何在C#中高效地处理大文本文件,以及如何使用`SqlBulkCopy`进行批量数据库插入,这对于任何处理大量数据的开发者来说都是宝贵的技能。

    NLog记录日志、发邮件、写入数据库

    本主题将深入探讨如何使用NLog进行日志记录、发送邮件以及写入数据库,以实现高效且灵活的日志管理。 一、NLog基础 NLog提供了一个简单易用的API,可以轻松地在代码中插入日志记录语句。首先,需要在项目中引用...

    数据库数据写入Excel

    数据库数据写入Excel是一项常见的数据处理任务,尤其在数据分析、报告生成或数据迁移场景中非常实用。本示例中,我们将探讨如何通过编程方式,利用Java的JDBC(Java Database Connectivity)接口从数据库中获取数据...

    批量写入SQL数据库的优化函数

    通过本函数在进行批量数据操作时可以实现事件回滚,保持事务一致性。

    数据批量导入数据库

    这些工具或API允许用户一次性将大量数据写入数据库,从而避免了逐条插入数据所带来的性能开销。 - 在本例中,通过`.NET Framework`下的`System.Data.SqlClient`命名空间中的`SqlBulkCopy`类实现数据的批量导入。 2...

    如何借助log4j把日志写入数据库中

    要将日志写入数据库,我们需要配置一个使用数据库Appender的Log4j配置文件。以下是一个基本的配置示例: ```xml ``` 在这个配置中,我们创建了一个名为"DB"的JDBCAppender,设置了...

    Excel读取和大数据批量导入数据库ASPNET源码

    本程序比较简单,就实现了excel的读取、存入数据库,其实写入数据库用的SqlBulkCopy大数据批量导入 二、菜单功能 页面就实现了两个功能 1、不需要使用数据,直接读取excel并显示出来; 2、读取excel并写入数据库...

    Access数据库数据写入WinCC变量.pdf

    Access数据库数据写入WinCC变量 Access数据库是一种基于关系型数据库管理系统,它广泛应用于工业自动化、过程控制和数据采集等领域。WinCC是 Siemens 公司的一款工业自动化软件,用于监控、控制和数据采集。将...

    极瑞批量上传系统(写入数据库) v1.0.zip

    极瑞批量上传系统(写入数据库)功能简介: 在一些论坛上看到有些朋友想学习研究下上传系统,尤其是批量上传系统并且写入数据库保存的功能。因此自己闲来写了一个供大家学习参考之用。 在Config.asp文件中修改...

Global site tag (gtag.js) - Google Analytics