草庐IT

sql - 如何获取 SQL case 语句中两个日期中的最新日期?

我有一个SQL表,需要检查两个日期中的最新日期,创建一个新列。可能有也可能没有这两个值,在这种情况下它默认为一个。我有一个这样的生产案例:+----------+----------+-----------+|device|activity|date|+----------+----------+-----------+|device1|stage|3/20/2018||device1|test|3/30/2018||device2|stage|6/1/2018||device2|test|[null]|+----------+----------+-----------+我需要得到这

apache-spark - 在用压缩文件替换 HDFS 中的小文件时如何避免破坏事件的 Hive/Presto 查询?

我们有100多个HDFS分区,我们每天每小时都会写入这些分区。分区是每天进行的,以便直接加载到Hive中,数据以Parquet格式写入。我们遇到的问题是,因为我们想尽可能快地获取数据可查询,每小时写入导致很多小文件。有很多例子,例如Howtocombinesmallparquetfilestoonelargeparquetfile?对于合并代码;我的问题是在移动/替换新压缩的文件以替换小文件时如何避免破坏人们的主动查询? 最佳答案 Metastore对每个分区都有一个文件系统位置。该位置通常基于表和分区:hdfs://namenod

hadoop - 错误主要 com.facebook.presto.server.PrestoServer null

我正在尝试在我的Ubuntu12.04LTS(32位)、Java1.7.0_25、Python2.7.3中配置presto。presto不能在32位系统中工作吗?请帮我解决这个问题。我收到以下错误。2013-11-14T14:37:54.165+0530DEBUGmaincom.facebook.presto.hive.RebindSafeMBeanServerio.airlift.node:name=NodeInfoalreadyboundtoio.airlift.node.NodeInfo[io.airlift.node:name=NodeInfo]2013-11-14T14:37

sql - 强制 Presto 维护 WHERE 子句的顺序

我正在尝试运行类似于以下查询的内容:SELECT*FROMfooWHEREcardinality(bar)>0ANDbar[1]='...';但是,我收到了查询失败:数组下标越界。我假设这是因为Presto试图通过在检查cardinality(bar)>0之前检查bar[1]='...'来优化查询。有没有办法强制Presto维持子句的顺序? 最佳答案 当我需要时,我已经通过两种方式解决了这个问题。使用theelement_atfunction而不是[]下标符号。element_at在索引超出数组末尾时返回NULL,因此您可以将示例简

hadoop - Presto 不从 Hive Metabase 返回行

我是AWSEMR的新手。我已经启动并运行了Hive,并且可以毫无问题地查询S3中的外部表。我现在已经将Presto安装到EMR集群上,这似乎已启动并正在运行并且可以读取Hive元数据库。但是,我运行的每个查询都会返回列标题,但实际上不会返回任何列(下面的查询)。presto:default>selectcount(*)frompatrequests;_col0-------0(1row)Query20171113_163811_00033_vdw6c,FINISHED,1nodeSplits:17total,17done(100.00%)0:00[0rows,0B][0rows/s,0

linux - 转瞬即逝 + hive : CLUSTERED TABLE

我在HIVE中有聚簇表。所有查询都在hive-client中工作。但是我不能用这个表运行任何查询:Query...failed:Hivetableiscorrupt.Itisdeclaredasbeingbucketed,butthefilesdonotmatchthebucketingdeclaration.Thenumberoffilesinthedirectory(0)doesnotmatchthedeclaredbucketcount(8)forpartition:在设置hive.enforce.bucketing=true;之后错误:Query...failed:Hiveta

oracle - 哪个 Hadoop 组件可以处理所有的 oracle 查询?

哪个hadoop组件可以处理所有oracle函数并且具有低延迟..我正在考虑使用Presto、Drill和Shark等组件。谁能说出以上哪种技术可以低延迟处理oracle中的所有功能。或至少具有更多兼容性并且可以处理oracle的所有功能..我可以灵活地使用不止一种技术,但对于使用哪种技术与哪种功能兼容以及哪种技术可以提供低延迟感到困惑......? 最佳答案 Presto旨在实现ANSISQL并以低延迟执行查询(支持它的连接器低于100毫秒)。针对Hive的查询可以在大约1秒内执行,具体取决于Hive元存储的速度(如果由于重复访问

performance - Impala 上的多维数据集运算符

在Impala和PrestoDB之间进行基准测试时,我们注意到在Imapala中构建数据透视表非常困难,因为它不像Presto那样具有Cube运算符。以下是Presto中的两个示例:TheCUBEoperatorgeneratesallpossiblegroupingsets(i.e.apowerset)foragivensetofcolumns.Forexample,thequery:`SELECTorigin_state,destination_state,sum(package_weight)FROMshippingGROUPBYCUBE(origin_state,destina

hadoop - 我们可以为 presto 设置多个工作进程吗?

假设在我的presto集群中我有两个数据源HIVE和Cassandra。即我有一个连接到Hive源的Hive目录和一个连接到Cassandra源的Cassandra目录。两个团队正在分别处理它们。如果两个团队并行提交单独的查询,worker将为每个查询创建任务。就像为每个任务worker创建一个新线程一样,这意味着两个查询的任务驻留在同一个JVM(堆)中。由于两个团队都希望他们的数据非常安全,他们希望为他们的任务隔离内存(他们不想冒任何代码注入(inject)的风险)。有什么办法,让每个源的所有任务都运行在单独的JVM(堆)中。我的意思是我们可以运行多个工作进程:每个数据源都运行一个吗

hadoop - Presto 是否支持 HDP2 高可用性配置?

我已经在2个名称节点上设置了5个数据节点集群,这些名称节点配置为在我的Hadoop2.6.0集群中实现高可用性。我的Presto配置基于1个协调器节点和3个工作节点。当我的集群是单个名称节点集群时,我一直在使用hivemetastore从presto进行查询。但是现在在为HA配置之后,我在使用presto访问我的hdfs时遇到了问题,如下所示:Query20150320_120620_00004_vgragfailed:java.net.UnknownHostException:mycluster其中mycluster是两个名称节点(事件和备用)的组合。谁能帮我解决这个错误。或者至少有