首页 \ 问答 \ clickhouse是否可以直接通过插入查询存储HyperLogLog / uniqState()状态?(Is it possible in clickhouse to store a HyperLogLog / uniqState() state directly trough an insert query?)

clickhouse是否可以直接通过插入查询存储HyperLogLog / uniqState()状态?(Is it possible in clickhouse to store a HyperLogLog / uniqState() state directly trough an insert query?)

我们可以使用AggregatedMergeTree表引擎,该引擎可用于聚合行。

通常在聚合数据中,我们不想存储所有唯一标识符,并且仍然希望计数不同。 我们仍然希望能够执行另一个聚合以在之后获得这些行的唯一计数(通过对选择查询中的行进行分组)。 这是HyperLogLog派上用场的地方,它作为clickhouse中的uniqState函数实现。

我想通过插入查询直接存储超级日志,并将其提供给我的客户端应用程序的clickhouse表。 这可能吗?


We can use an AggregatedMergeTree table engine, which can be used for a aggregating rows.

Generally in aggregated data we are not interested in storing all unique identifiers and still want to do a count distinct. Still we want to have the ability to do another aggregation to get unique count on these rows afterwards (trough grouping rows in a select query). This is where HyperLogLog comes in handy, wich is implemented as the uniqState function in clickhouse.

I would like to store a hyperloglog directly trough an insert query and offer it to a clickhouse table from my client application. Is this possible?


原文:https://stackoverflow.com/questions/45562213
更新时间:2022-03-11 12:03

最满意答案

因此问题的本质是我在经过多次挖掘和调整后设法解决的问题。 下面我将发布两种获取相同数据的方法 - 一种是基本的$ http,另一种是超过$资源。 首先是服务电话:

    HomeService.httpShowAll().then(function(data) {
        vm.httpProducts = data;
    });
    HomeService.resourceShowAll().index().$promise.then(function(success) {
        vm.resourceProducts = success;
    });

在服务本身:

    function httpShowAll() {
        return $http.get('/products/index.json',{}).success(function(data) {});
    }
    function resourceShowAll() {
        return $resource('/products/index.json', {} , {
            index: {isArray: true}
        });
    }

resourceShowAll()函数中的上述索引部分充当控制器调用资源对象的键。 最后是Rails控制器索引功能:

  respond_to :json
  def index
    @products = Product.all
    respond_to do |format|
      format.json { render json: @products }
      format.html 
    end
  end

我希望这可以帮助任何来自纯角色背景的人使用Angular和Rails。

注意:我将在完成后立即使用基本的CRUD函数更新此答案:

  • 创建
  • 阅读以上部分)
  • UPDATE
  • 删除

So as is the nature of questions asked I managed to solve it after a-bit more digging and tweaking. Below I'll post two ways of getting the same data - one goes over basic $http, the other over $resource. First the service calls:

    HomeService.httpShowAll().then(function(data) {
        vm.httpProducts = data;
    });
    HomeService.resourceShowAll().index().$promise.then(function(success) {
        vm.resourceProducts = success;
    });

And in the services themselves:

    function httpShowAll() {
        return $http.get('/products/index.json',{}).success(function(data) {});
    }
    function resourceShowAll() {
        return $resource('/products/index.json', {} , {
            index: {isArray: true}
        });
    }

The above index part in the resourceShowAll() function acts as a key for the controller to call on the resource object. And finally the Rails controller index function:

  respond_to :json
  def index
    @products = Product.all
    respond_to do |format|
      format.json { render json: @products }
      format.html 
    end
  end

I hope this helps anyone who is coming from a pure Angular background to working with both Angular and Rails.

Note: I'll update this answer with the basic CRUD functions as soon as I work them out:

  • CREATE
  • READ (above)
  • UPDATE
  • DELETE

相关问答

更多

相关文章

更多

最新问答

更多
  • python的访问器方法有哪些
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。
  • 响应navi重叠h1和nav上的h1链接不起作用(Responsive navi overlaps h1 and navi links on h1 isn't working)
  • 在C中读取文件:“r”和“a +”标志的不同行为(Reading a File in C: different behavior for “r” and “a+” flags)
  • NFC提供什么样的带宽?(What Kind of Bandwidth does NFC Provide?)
  • 元素上的盒子阴影行为(box-shadow behaviour on elements)
  • Laravel检查是否存在记录(Laravel Checking If a Record Exists)
  • 设置base64图像的大小javascript - angularjs(set size of a base64 image javascript - angularjs)
  • 想学Linux 运维 深圳有哪个培训机构好一点
  • 为什么有时不需要在lambda中捕获一个常量变量?(Why is a const variable sometimes not required to be captured in a lambda?)
  • 在Framework 3.5中使用服务器标签<%=%>设置Visible属性(Set Visible property with server tag <%= %> in Framework 3.5)
  • AdoNetAppender中的log4net连接类型无效(log4net connection type invalid in AdoNetAppender)
  • 错误:发送后无法设置标题。(Error: Can't set headers after they are sent. authentication system)
  • 等待EC2实例重启(Wait for an EC2 instance to reboot)
  • 如何在红宝石中使用正则表达式?(How to do this in regex in ruby?)
  • 使用鼠标在OpenGL GLUT中绘制多边形(Draw a polygon in OpenGL GLUT with mouse)
  • 江民杀毒软件的KSysnon.sys模块是什么东西?
  • 处理器在传递到add_xpath()或add_value()时调用了什么顺序?(What order are processors called when passed into add_xpath() or add_value()?)
  • sp_updatestats是否导致SQL Server 2005中无法访问表?(Does sp_updatestats cause tables to be inaccessible in SQL Server 2005?)
  • 如何创建一个可以与持续运行的服务交互的CLI,类似于MySQL的shell?(How to create a CLI that can interact with a continuously running service, similar to MySQL's shell?)
  • AESGCM解密失败的MAC(AESGCM decryption failing with MAC)
  • SQL查询,其中字段不包含$ x(SQL Query Where Field DOES NOT Contain $x)
  • PerSession与PerCall(PerSession vs. PerCall)
  • C#:有两个构造函数的对象:如何限制哪些属性设置在一起?(C#: Object having two constructors: how to limit which properties are set together?)
  • 平衡一个精灵(Balancing a sprite)
  • n2cms Asp.net在“文件”菜单上给出错误(文件管理器)(n2cms Asp.net give error on Files menu (File Manager))
  • Zurb Foundation 4 - 嵌套网格对齐问题(Zurb Foundation 4 - Nested grid alignment issues)
  • 湖北京山哪里有修平板计算机的