- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用Pig处理数据以每天创建一个小时报告。 (因此,我每天晚上发布该报告,其中包含代表过去24小时的24行。)从根本上讲,我正在执行以下操作:
REGISTER /path/to/pig/contrib/piggybank/java/piggybank.jar;
DEFINE ISOToUnix org.apache.pig.piggybank.evaluation.datetime.convert.ISOToUnix();
DEFINE UnixToISO org.apache.pig.piggybank.evaluation.datetime.convert.UnixToISO();
DEFINE ISOToHour org.apache.pig.piggybank.evaluation.datetime.truncate.ISOToHour();
absdata = LOAD 'absdata.csv' USING PigStorage(",") AS (ts:datetime, a:int, b:int);
reldata = FOREACH absdata GENERATE HoursBetween(ToDate(ISOToUnix(ISOToHour(UnixToISO(1000L*ToUnixTime(CurrentTime()))))), ToDate(ISOToUnix(ISOToHour(UnixToISO(1000L*ToUnixTime(ts)))))) AS hs, a, b;
aggdata = GROUP reldata BY hs;
report = FOREACH aggdata GENERATE group AS hs, SUM(aggdata.a) AS a, SUM(aggdata.b) AS b;
STORE report INTO '/my/reports' using PigStorage(',','-schema');
generate_series()
生成我关心的所有时间,并使用一个快速的
LEFT OUTER JOIN
来确保我在报表中拥有所有行。我发现在pig中
LEFT OUTER JOIN
位很简单,但是
generate_series()
位不是。
generate_series()
的 pig 吗?直接生成
datetime
对象将是理想的选择,但是生成
int
序列也将很好。
最佳答案
如果您有另一个具有> 24行的关系,请对该关系使用RANK函数,然后按等级列排序,限制为24,然后仅选择等级列。现在,您有一个精确的24行关系,每行代表1小时。
左外部将这个关系与您的最终报告关系合并。
关于hadoop - Pig Latin等同于PostgreSQL generate_series()函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211504/
我正在尝试使用 SQLite CLI,但无法获得 generate_series功能来工作。我可以按照文档中的建议使用递归 CTE 对其进行模拟,但我似乎无法获得该链接中的任何示例。这是我的 sess
我正在尝试计算 PostgreSQL 中特定日期范围之间的工作日。 SELECT SUM(CASE WHEN extract (dow FROM foo) IN(1,2,3,4,5) THE
所以我试图跳过使用外部脚本生成模拟数据,而是在 PostgreSQL 中使用 generate_series()。如果我确实尝试减少行数,充其量它会返回“无法写入 block :临时日志文件.....
长话短说;我需要生成两个给定日期之间的所有日期。我的第一直觉就是 generate_series 函数,比如 \set start_date '''2019-10-01''' \set end_dat
我有一个按月出勤的 View (日期按月截断): ---------------------------------------------------- | Student_ID | Date
我正在使用这种语法: generate_series(1, COALESCE((string_to_array(table.id_number, '-')) [2] :: INT, 1)) AS n
这是我想在 Greenplum 数据库(如 postgresql 8.2.15)中完成的非常基本的查询。 表t中的字段create_date是timestamp w/o time zone。谁能指出我
我有一张混合了多边形和多边形的表格,我想运行一个函数将它们分解为 LineString(或 MultiLinestring)。 我的问题 - 我目前正在返回一个集合......没有几何(?).....
我有一个查询要根据按 date 和 employee_id 分组的日期系列生成报告。日期应基于特定时区,在本例中为“Asia/Kuala_Lumpur”。但这可能会根据用户所在的时区而改变。 SELE
当我运行SQL查询时: select generate_series(0,g) from ( select date(date1) - date(date2) as g from mytable
我想使用 Postgres 的 generate_series() 生成一系列时间戳,但它返回了错误数量的结果: select generate_series( no
下面的sql代码按预期运行 generate_series('2018-06-29 00:00:00','2018-06-29 23:00:00', interval '1 hour') 但是当我使用
我的应用程序遇到了一些问题。它适用于我的开发环境,但不适用于我的客户服务器。 带有时间戳的 generate_series 不起作用。相同的函数,但可以使用整数。 错误信息: [Request pr
generate_series 函数是 Postgres 中非常酷的功能之一,但我发现它令人困惑。如果您想要单个 系列数字、递增的时间戳等,这非常简单。但是当您想要用多列填充测试数据行时(对我而言)就
我知道 distinct 和 generate series 的意思。但是当我执行这个查询时,问号在我脑海中飞舞。 select distinct generate_series(0,8) 结果很奇怪
我通过 PostgreSQL 的 generate_series(min, max) 以下列方式生成日期系列: SELECT generate_series(getstartdate(some
我试图找到每月执行操作 A 或操作 B 的 # 个用户。 表:用户- ID- “创建日期” 表:action_A- user_id (= user.id)- “创建日期” 表:action_B- us
以下查询在 PostgreSQL 11.1 中需要超过 7 分钟: SELECT '2019-01-19' as date, '2019-01-19'::date - generate
查看日期范围时,generate_series 是否也返回开始日期和结束日期? select '2014-06-05 00:00:00'::timestamp + ('1 month'::IN
我有以下命令 select generate_series('2019-09-01'::timestamp, least(current_date, '2019-09-18'), interval '
我是一名优秀的程序员,十分优秀!