动态数据操作框架

Hydro的Python项目详细描述


hydro是一个免费的开源数据api计算和服务框架,主要用于帮助web/application服务器或其他数据使用者从不同的数据流中提取数据,动态处理并呈现给不同的客户端/应用程序。在标准和统计上。=数据API
=——
。=>;水力-————
=提取应用程序/网络————
==etl===>;。=转换==>;服务器==>;客户端
=>;呈现——————————
。=——
=
——=
dbn==
——



``````

hydro使:


1变得容易。整合到**一个服务**一个处理来自[速度和批处理](http://lambda-architecture.net/)层的不同类型入站流的逻辑。
2。通过在运行时执行各种类型的优化和转换技术来优化数据检索,例如:
*采样。
*确定数据访问路径(预物化/原始数据)。
*数据流操作:查找、聚合、计算列等。
*每个用户/查询/客户端/QoS的资源分配。
3.创建多级缓存。
4.跨不同的使用者和数据流重用和共享业务逻辑。

hydro的构建方式是将数据/业务逻辑与数据提取分离开来,这样hydro可以定义不同的数据结构以从**中提取数据,但是**应用相同的处理逻辑,一旦获取数据。


=self.query_engine.get('geo_widget_stream',params)

lookup_stream,left_on=['user_id',right_on=['user_id'])

'spend':'sum'})

数据源并从中提取数据。
查询引擎使用优化器来确定访问路径,数据结构和优化逻辑,以便挖掘流。

**优化器**


优化器负责应用优化技术,以便根据标准和统计信息以最有效的方式获取流。优化器返回查询引擎要遵循的计划。

示例:

````
conf)
定义数据源并键入
plan.data\u source='vertica dash'
plan.source\u type=configurator.vertica

5天,应用类型为仪表板,中止!
因为需要快速获取数据
如果配置程序.seconds_in_day*125 and params['app_type'].to_string()='dashboard':
引发HydroException('time range is too big')

如果每天的平均记录数大于1000或客户机是convertro,则运行示例逻辑
elif plan.avg_records_per_day>;1000或params['client_id'].to_string()='convertro':
plan.template_file='device_grid_widget_sampling.sql'
plan.sampling=true
self.logger.debug('sampling for the query has been on on')

="device_grid_widget.sql"
将计划对象返回到查询引擎
return plan

````

**缓存**


hydro使用基于流和拓扑的缓存,以提高性能,在某种情况下,之前获取的流/拓扑和参数相同。流和拓扑可以跨拓扑共享,实际上,拓扑可以是其他拓扑的另一个流。




如何使用:
使用hydro通常包括以下步骤:

1。使用"pip install hydro"安装
2.使用"hydro_cli scaffold[dir_name][topologyname]`
3生成拓扑。编辑生成的文件并填写逻辑和查询。
4.本地或远程调用hydro,如下所述。



您只需克隆此项目并运行"pip install-r requirements.txt"。
强烈建议使用virtualenv,以避免依赖关系污染系统的python安装。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入