我的公司内部使用 git,我们在使用 svn 的 Google Code 上以开源方式发布了一些工作。(如果它支持git,问题可能是一样的。)
问题是我们只发布了存储库的一部分,因此按照http://code.google.com/p/support/wiki/ImportingFromGit中所述使用 git-svn将不起作用。
我看到了构建 presto 需要 Mac OS/Linux 的明确要求。 https://github.com/prestodb/presto 我也看到有一些问题正在讨论获得 Windows 对 Presto 构建的支持 https://github.com/prestodb/presto/issues/2351
我没有看到有关如何开始或开始使用 Windows 的方法的正确文档。
我找到了这个链接http://wheresthedocs.blogspot.com/ 但我不确定它是否会帮助我开始使用 presto。如果有人做过,请提供一些非常有用的基本说明!
我正在尝试diff_date从Presto中获取此数据。
timespent | 2016-04-09T00:09:07.232Z | 1000 | general
timespent | 2016-04-09T00:09:17.217Z | 10000 | general
timespent | 2016-04-09T00:13:27.123Z | 250000 | general
timespent | 2016-04-09T00:44:21.166Z | 1144020654000 | general
Run Code Online (Sandbox Code Playgroud)
这是我的查询
select _t, date_diff('second', from_iso8601_timestamp(_ts), SELECT from_iso8601_timestamp(f._ts) from logs f
where f._t = 'timespent'
and f.dt = '2016-04-09'
and f.uid = 'd2de01a1-8f78-49ce-a065-276c0c24661b'
order by _ts)
from logs d
where _t = 'timespent'
and dt = '2016-04-09'
and uid = 'd2de01a1-8f78-49ce-a065-276c0c24661b'
order by _ts;
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
Query 20160411_150853_00318_fmb4r failed: line 1:61: …Run Code Online (Sandbox Code Playgroud) 我有一个创建时间戳和结束时间戳的列表,我想获得从创建到结束的最后秒数.没有使用UNIX时间戳(我目前没有)时无法找到任何方法.
类似的东西:
DATEDIFF( '第二',分钟(CREATION_TIME),最大值(ENDING_TIME))
creation_time ='2017-03-20 10:55:00'..
我正在尝试使用 presto 将十六进制字符串(以“0x”开头)转换为其整数值。例如0x100256。我的十六进制字符串称为msg_id。我尝试用这个-
from_hex(substr(msg_id,3))
Run Code Online (Sandbox Code Playgroud)
但我遇到了一个问题,因为from_hex期望偶数个十六进制数字(0100而不是100)。我决定尝试使用if语句来解决这个问题,所以我尝试了以下方法:
if(length(msg_id)%2=0, from_hex(substr(msg_id,3)))
Run Code Online (Sandbox Code Playgroud)
(稍后会处理奇数位的情况)
但是 - 的结果from_hex是一种varbinary具有不同字节数的类型。我想将其转换为整数或任何其他数字类型,但我找不到方法。
有任何想法吗?我会很感激...
我在雅典娜有一张这种结构的桌子
CREATE EXTERNAL TABLE `json_test`(
`col0` string ,
`col1` string ,
`col2` string ,
`col3` string ,
`col4` string ,
)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'quoteChar'='\"',
'separatorChar'='\;')
Run Code Online (Sandbox Code Playgroud)
像这样的 Json 字符串存储在“col4”中:
{'email': 'test_email@test_email.com', 'name': 'Andrew', 'surname': 'Test Test'}
Run Code Online (Sandbox Code Playgroud)
我正在尝试进行 json_extract 查询:
SELECT json_extract(col4 , '$.email') as email FROM "default"."json_test"
Run Code Online (Sandbox Code Playgroud)
但查询返回空值。
任何帮助,将不胜感激。
我通过 Mode Analytics Platform 连接到 AWS Athena 并使用其查询引擎(基于 Presto 0.172 )查询表。该表public.zones将时区信息存储在time_zone我感兴趣的某些区域的列中,存储为varchar.
例如,如果我输入:
SELECT time_zone
FROM public.zones
LIMIT 4;
Run Code Online (Sandbox Code Playgroud)
我得到(如预期):
time_zone
----------
US/Pacific
US/Eastern
US/Eastern
US/Eastern
Run Code Online (Sandbox Code Playgroud)
我可以运行这个测试查询:
SELECT
timestamp '2017-06-01 12:34:56.789' AT TIME ZONE 'US/Eastern' AS time_eastern,
time_zone
FROM public.zones
LIMIT 4;
Run Code Online (Sandbox Code Playgroud)
我得到(如预期)
time_eastern time_zone
---------------------------------- ----------
2017-06-01 08:34:56.789 US/Eastern US/Pacific
2017-06-01 08:34:56.789 US/Eastern US/Eastern
2017-06-01 08:34:56.789 US/Eastern US/Eastern
2017-06-01 08:34:56.789 US/Eastern US/Eastern
Run Code Online (Sandbox Code Playgroud)
现在,我想'2017-06-01 12:34:56.789'在我从区域表中查询的不同时区中表示相同的时间字符串。我希望运行以下查询。(它在 PostgreSQL 上运行)。
SELECT
timestamp '2017-06-01 12:34:56.789' AT TIME …Run Code Online (Sandbox Code Playgroud) 我有一个基于日期的分区 athena 表,如下所示:
20190218
Run Code Online (Sandbox Code Playgroud)
我想删除去年创建的所有分区。
我尝试了以下查询,但没有奏效。
ALTER TABLE tblname DROP PARTITION (partition1 < '20181231');
ALTER TABLE tblname DROP PARTITION (partition1 > '20181010'), Partition (partition1 < '20181231');
Run Code Online (Sandbox Code Playgroud) 我正在 AWS Athena 中使用以下语句创建一个表:
CREATE TABLE table2
WITH
(
format='JSON',
external_location='s3://bucket/path'
) AS
SELECT field1, field2, field3, field4, field5, field6
FROM table1
ORDER BY field1, field2
Run Code Online (Sandbox Code Playgroud)
但是,当我查看 external_location 时,我发现所有文件都被压缩为 gz 格式。是否可以关闭压缩?也就是说,只需将原始 JSON 写入 S3 存储桶即可。
我无法从 Athena 控制台运行带有 where 条件的简单 sql 选择。以下是详细信息:
SELECT name, count(*) AS c
FROM target_reddit_movie
GROUP BY name
HAVING c > 1
ORDER BY c DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
我收到一个错误SYNTAX_ERROR: line 1:74: Column 'c' cannot be resolved。
Athena 似乎无法识别该as列名称。我怎样才能让它发挥作用?它使用不同的语法吗?