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
最满意答案
因此问题的本质是我在经过多次挖掘和调整后设法解决的问题。 下面我将发布两种获取相同数据的方法 - 一种是基本的$ 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
相关问答
更多-
它抛出一个错误,因为你在创建它之前调用了第toFirst函数,而我可以说它的语法错误。 你应该创建函数而不是调用它。 paging.prototype.toFirst = function () { this.pageNumber = 1; } It is throwing an error because you are calling toFirst function before creating it, Rather I can say its syntactical mistake. Y ...
-
视图绑定中表达式的范围仅限于组件类实例。 不支持直接从视图访问静态,全局,类型(枚举),.... 为了能够在视图中引用它,必须可以通过组件类实例访问它: constructor(public utilsService:UtilsService) {} The scope for expressions in view bindings ...
-
您不需要创建指令来处理排序,您可以使用ng-click="yourController.sortTheData()" 如果你考虑一下,你的意图并不是真正操纵视图层。 您的目的是订购清单。 Angular将处理重新绘制数据。 但是,如果您仍然希望使用指令来执行排序,那么这是一个关于Plunker的示例,我认为这反映了您尝试实现的目标。 https://plnkr.co/edit/ILM26qF1BOJvSwsOnLoi?p=preview angular.module('app', []) .servi ...
-
使用angular 2在同一函数中调用GET和POST服务调用(calling both GET and POST service calls in same function using angular 2)[2021-09-03]
**It could be better if you use another Function sucees** onLogin(value: string): void { if(this.authForm.valid) { this.http.get('https://itunes.apple.com/us/rss/topmovies/limit=1/json') .map(res => res.json()) .subscribe( ... -
我搞定了! 我通过将此配置放在config / application.rb中来配置我的Rails api以接受跨域请求 config.action_dispatch.default_headers = { 'Access-Control-Allow-Origin' => '*', 'Access-Control-Request-Method' => '*' } 我的服务文件与资源调用: factory('Boat', function($resource){ return $re ...
-
因此问题的本质是我在经过多次挖掘和调整后设法解决的问题。 下面我将发布两种获取相同数据的方法 - 一种是基本的$ http,另一种是超过$资源。 首先是服务电话: HomeService.httpShowAll().then(function(data) { vm.httpProducts = data; }); HomeService.resourceShowAll().index().$promise.then(function(success) { ...
-
在Angular中解析的承诺之后调用其他服务函数(Calling additional service functions after a resolved promise in Angular)[2022-02-24]
你是这个意思吗? angular.module('API',[]) .factory('API', ['$rootScope', '$http','$q', function ($rootScope, $http, $q) { var StorageVar = []; return{ getAPI: function(){ //does async call, returns promise, stores da ... -
你不能在服务中注入控制器。 其中一个原因是每次创建指令时都会实例化一个控制器,而一个服务在启动时实例化一次。 相反,您可以使Authentication.register函数返回一个承诺。 可以使用$ q服务创建一个。 或者,如果您在身份验证成功或身份验证服务失败后不想执行任何操作,只需返回您从$ http.post调用获得的承诺。 返回http.post响应: 服务功能认证($ cookies,$ http){ var Authentication = { register: regist ...
-
我有一个解决方案。 我们不能将ng-include src与scope变量绑定。 相反,我使用函数调用来获取源,然后它的工作原理! 那就是我改变了这就是异步调用的工作原理:如果Incomes服务数据以异步方式填充,那么它也必须返回promise。 我将创建一些方法buildAndGetIncomes ,它将调用Projects.async()并在获取数据时 - >向控制器返回新的promise: facturateApp.service('Incomes', function(Projects, $q){ var self = this; var deferred = $q.defer(); var incomes ...
相关文章
更多- [翻译][Trident] Trident state原理
- MongoDB学习 (五):查询操作符(Query Operators).1st
- Redis HyperLogLog 基数统计详解
- 常用HQL(Hibernate Query Language)查询
- Solr 使用自定义 Query Parser
- Solr 使用自定义 Query Parser
- Storm可靠性及事务性相关设计: Acker及Trident State
- solr delete query
- solr delete query
- Spark - A Fault-Tolerant Abstraction for In-Memory Cluster Computing
最新问答
更多- 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)
- 湖北京山哪里有修平板计算机的