- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读过 Presto 用于临时查询,而 Hive/spark 更适用于 ETL 场景。在 ETL 中不使用 Presto 的原因似乎是因为 Presto 查询可能会失败并且没有中间查询容错。
然而,看起来我们可以通过在我们的日常 Jenkins 工作流程中使用 Presto 以及在查询失败的情况下重试来解决它。
有没有人尝试过使用这种方式,或者他们对这种方法有什么不利之处?
如果您在 ETL 中使用 Presto,那么您的 Presto 集群有多大?您的 presto 集群使用哪种 EC2 实例?
最佳答案
如果您的 ETL 作业不是很长或很复杂(即,标准 SQL 足以进行所需的转换),我认为 Presto 可以完成合理的工作。正如您所指出的,没有中间查询容错,因此您需要一种机制来在失败时重新启动查询。希望 Presto 的速度能够抵消偶尔的重启。另一种策略是将较长的复杂查询分解为一系列较短/较简单的查询,并在两者之间创建临时表以有效实现手动检查点。 Facebook 在将一些批处理 Hive 作业迁移到 Presto 时利用了这种策略:https://www.slideshare.net/kbajda/presto-at-hadoop-summit-2016
我要提出的另一个建议是为 ETL 旋转一个单独的 Presto 集群,以避免与交互式 Presto 工作负载发生任何资源争用。
在实例类型方面,这显然取决于您的查询。大多数情况下,您需要 RAM 和 CPU 的良好平衡。从 R4 实例类型开始是一个不错的选择。在运行时观察工作负载后,您可以添加更多节点以加快 ETL 过程或探索其他实例类型(例如,如果 CPU 已满载,则转移到 C4/5 实例类型可能是一个不错的选择)。
更普遍的是,Presto-Users 邮件列表是一个很好的信息来源:https://groups.google.com/group/presto-users .
此外,还可以在 Presto 峰会 (https://www.starburstdata.com/technical-blog/presto-summit-2018-recap/) 等事件中向社区成员学习。
关于etl - 在 ETL 场景中使用 Presto 的缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608838/
是否有任何选项可以在 Presto CLI 上提供参数。 我正在尝试将我的 impala-shell 命令更改为 Presto,其中我的 HQL 文件从 impala 的命令行获取参数,如下所示。 i
默认情况下,Presto 执行区分大小写的分组依据。但我想知道如何进行不区分大小写的分组。一种方法是将列中的所有东西都转换为小写,然后进行group by ie select * from ( sel
我怀疑答案是“视情况而定”,但是否有关于计划用于 Presto 的硬件类型的一般指导? 由于 Presto 使用一个协调器和一组工作器,并且工作器使用数据运行,我想主要问题将是协调器有足够的 RAM,
Presto 有多个 connectors 。虽然连接器确实实现了读写操作,但从我读过的所有教程来看,它们似乎通常用作仅读取的数据源。例如,netflix 在 Amazon S3 上有“10 PB”的
Postgres 有: SELECT VERSION(); 什么是 Presto 等价物? 我已经看过 Presto docs ,但无法找到等价物。 最佳答案 你试过下面的吗? SELECT node
Presto 支持哪些文件格式?是否有推荐的特定文件格式以获得更好的性能。我很想知道是否有像 RCfile 这样针对 Presto 进行优化的柱状文件格式? 最佳答案 我们测试每个 Trino (fo
我目前正在使用 Presto 0.80。我必须编写一个用户定义的函数来在选择查询期间将摄氏度转换为华氏度。我使用 Hive QL 做了同样的事情,但想知道我们是否可以在 Facebook Presto
我想获得所有连接的工作人员的列表,以便我可以检测哪个工作人员不工作。 我试过 select * from sys.node;但它不起作用。 我正在使用 Presto 0.128。 最佳答案 对于 0.
我是 Presto 的新手,无法弄清楚如何检查 map 中是否存在 key 。当我运行 SELECT查询,返回此错误信息: Key not present in map: element SELECT
我的数据如下所述 customer_id usage_month usage_by_product usage 1 June {"A":5
我的问题有点类似于这个( Athena/Presto - UNNEST MAP to columns )。但就我而言,我事先知道我需要哪些列。 我的用例是这样的 我有一个 json blob,其中包含
如何在 Presto 中创建一个表,其中其中一列具有数组数据类型? 例如: 如果不存在则创建表(ID BIGINT、ARRAY_COL 数组)... 最佳答案 编辑 数组类型的语法为array(ele
我的问题有点类似于这个( Athena/Presto - UNNEST MAP to columns )。但就我而言,我事先知道我需要哪些列。 我的用例是这样的 我有一个 json blob,其中包含
使用 Impala 运行 CDH4 集群,我创建了 parquet 表并在 adding 之后parquet jar 文件到 hive,我可以使用 hive 查询表。 将相同的 jar 集添加到/op
我将为这个站点做一个简化的例子,但基本上我正在尝试编写一个 Athena 查询(由 Glue 爬虫加载的数据,意图在 Quicksight 中使用),这将允许我在 select 语句中扩展一个结构。
我尝试运行启动器但遇到此错误: Exception in thread "main" java.lang.UnsupportedClassVersionError: sun/misc/Floating
我看到明确的要求,要构建 presto,您需要 Mac OS/Linux。 https://github.com/prestodb/presto我还看到正在讨论有关为 Presto 构建提供 Wind
我有以下查询,其中 shopname 存储为 varbinary 而不是 varchar 类型。 select shopname, itemname from shop_profile where c
能够设置脚本变量非常方便。例如, SET start_date = 20151201; SELECT * FROM some_table where date = {$hiveconf:start_d
我在 Presto 教程上看到了这个,它说好处是“在数据存在的地方查询数据”。 这是什么意思?我喜欢与事物的传统 v. Presto 版本进行比较。 编辑:通过链接到主页上的引用来添加上下文 http
我是一名优秀的程序员,十分优秀!