You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
java.lang.UnsupportedOperationException: com.facebook.presto.spi.block.VariableWidthBlockBuilder
at com.facebook.presto.spi.block.BlockBuilder.appendStructureInternal(BlockBuilder.java:103)
at com.facebook.presto.spi.block.SingleArrayBlockWriter.appendStructureInternal(SingleArrayBlockWriter.java:111)
at com.facebook.presto.spi.block.AbstractArrayBlock.writePositionTo(AbstractArrayBlock.java:161)
at com.facebook.presto.spi.type.ArrayType.appendTo(ArrayType.java:158)
at com.facebook.presto.operator.aggregation.minmaxby.KeyAndBlockPositionValueStateSerializer.serialize(KeyAndBlockPositionValueStateSerializer.java:71)
at com.facebook.presto.operator.aggregation.minmaxby.KeyAndBlockPositionValueStateSerializer.serialize(KeyAndBlockPositionValueStateSerializer.java:30)
at com.facebook.presto.$gen.Array_varchar_Array_varchar_IntegerMaxByGroupedAccumulator_20210514_091030_848.evaluateIntermediate(Unknown Source)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder$Aggregator.evaluate(InMemoryHashAggregationBuilder.java:444)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder.lambda$buildResult$3(InMemoryHashAggregationBuilder.java:302)
at com.facebook.presto.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:315)
at com.facebook.presto.operator.HashAggregationOperator.getOutput(HashAggregationOperator.java:480)
at com.facebook.presto.operator.Driver.processInternal(Driver.java:379)
at com.facebook.presto.operator.Driver.lambda$processFor$8(Driver.java:283)
at com.facebook.presto.operator.Driver.tryWithLock(Driver.java:675)
at com.facebook.presto.operator.Driver.processFor(Driver.java:276)
at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1077)
at com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:162)
at com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:483)
at com.facebook.presto.$gen.Presto_0_227____20210514_085209_1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Exception 2:
java.lang.UnsupportedOperationException: com.facebook.presto.spi.block.LongArrayBlockBuilder
at com.facebook.presto.spi.block.BlockBuilder.beginBlockEntry(BlockBuilder.java:67)
at com.facebook.presto.$gen.LongLongStateSerializer_20210514_101458_946.serialize(Unknown Source)
at com.facebook.presto.$gen.BigintBigintIntegerMaxByGroupedAccumulator_20210514_101458_949.evaluateIntermediate(Unknown Source)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder$Aggregator.evaluate(InMemoryHashAggregationBuilder.java:444)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder.lambda$buildResult$3(InMemoryHashAggregationBuilder.java:302)
at com.facebook.presto.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:315)
at com.facebook.presto.operator.HashAggregationOperator.getOutput(HashAggregationOperator.java:480)
at com.facebook.presto.operator.Driver.processInternal(Driver.java:379)
at com.facebook.presto.operator.Driver.lambda$processFor$8(Driver.java:283)
at com.facebook.presto.operator.Driver.tryWithLock(Driver.java:675)
at com.facebook.presto.operator.Driver.processFor(Driver.java:276)
at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1077)
at com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:162)
at com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:483)
at com.facebook.presto.$gen.Presto_0_227____20210514_085211_1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Query:
WITH base_data as
(
SELECT player_id
, registration_date
, country_name
, operating_system_original
, current_date
FROM table_a
WHERE pp.registration_date <= <current_date>
)
, interim_data as
(
SELECT
current_date
, pds.player_id
, MAX_BY(a, pds.processdate) as a
, MAX_BY(b, pds.processdate) as b
, MAX_BY(c, pds.processdate) as c
, MAX_BY(d, pds.processdate) as d
, MAX_BY(e, pds.processdate) as e
, MAX_BY(f, pds.processdate) as f
, MAX_BY(g, pds.processdate) as g
, MAX_BY(h, pds.processdate) as h
, MAX_BY(i, pds.processdate) as i
, MAX_BY(clan_id_array, pds.processdate) as clan_id_array
, MAX_BY(clan_role_array, pds.processdate) as clan_role_array
, MAX_BY(j, pds.processdate) as j
, MAX_BY(k, pds.processdate) as k
, MAX_BY(l, pds.processdate) as l
, MAX_BY(m, pds.processdate) as m
, MAX_BY(n, pds.processdate) as n
, MAX_BY(o, pds.processdate) as o
, MAX_BY(p, pds.processdate) as p
, MAX_BY(q, pds.processdate) as q
, MAX_BY(r, pds.processdate) as r
, MAX_BY(s, pds.processdate) as s
, MAX_BY(t, pds.processdate) as t
, SUM(u) as u
, SUM(v) as v
, SUM(w) as w
, SUM(x) as x
, SUM(y) as y
, SUM(z) as z
, SUM(element_at(a1, 'normal')) as normal_a1
, SUM(element_at(a1, 'rainbow')) as rainbow_a1
, SUM(element_at(b1, 'normal')) as normal_b1
, SUM(element_at(b1, 'rainbow')) as rainbow_b1
, SUM(element_at(c1, 'normal')) as normal_c1
, SUM(element_at(c1, 'rainbow')) as rainbow_c1
, SUM(element_at(d1, 'normal')) as normal_d1
, SUM(element_at(d1, 'rainbow')) as rainbow_d1
, SUM(element_at(e1, 'normal')) as normal_e1
, SUM(element_at(e1, 'rainbow')) as rainbow_e1
, SUM(element_at(f1, 'normal')) as normal_f1
, SUM(element_at(f1, 'rainbow')) as rainbow_f1
, SUM(element_at(g1, 'normal')) as normal_g1
, SUM(element_at(g1, 'rainbow')) as rainbow_g1
, SUM(element_at(h1, 'normal')) as normal_h1
, SUM(element_at(h1, 'rainbow')) as rainbow_h1
, SUM(element_at(i1, 'normal')) as normal_i1
, SUM(element_at(i1, 'rainbow')) as rainbow_i1
, SUM(element_at(j1, 'normal')) as normal_j1
, SUM(element_at(j1, 'rainbow')) as rainbow_j1
, SUM(element_at(k1, 'normal')) as normal_k1
, SUM(element_at(k1, 'rainbow')) as rainbow_k1
FROM table_b
WHERE processdate <= <current_date>
GROUP BY 2,1
)
FROM base_data as bd
LEFT JOIN interim_data as id
ON bd.player_id=id.player_id
Query Comments
There are two tables:
Table_a = This contains all the registered players. Player Snapshot table
Table_b = This contains , on daily basis, all the relevant metrics for each player for that particular day. On any given day this table has 1 million rows
The clan_id_array field of table_b contains all the unique clans for which a player was part of in a particular day. Each clan_id is a 36 character long string. Example, "f4becce9-13a7-4b53-8536-8de36885bd9d". A player can be part of multiple clans in any day.
The query above, given a current_date, scan over all the entries in table_b, and finds the most recent value of some metrics and sum of other metrics, until the current date.
The text was updated successfully, but these errors were encountered:
Exception 1:
java.lang.UnsupportedOperationException: com.facebook.presto.spi.block.VariableWidthBlockBuilder
at com.facebook.presto.spi.block.BlockBuilder.appendStructureInternal(BlockBuilder.java:103)
at com.facebook.presto.spi.block.SingleArrayBlockWriter.appendStructureInternal(SingleArrayBlockWriter.java:111)
at com.facebook.presto.spi.block.AbstractArrayBlock.writePositionTo(AbstractArrayBlock.java:161)
at com.facebook.presto.spi.type.ArrayType.appendTo(ArrayType.java:158)
at com.facebook.presto.operator.aggregation.minmaxby.KeyAndBlockPositionValueStateSerializer.serialize(KeyAndBlockPositionValueStateSerializer.java:71)
at com.facebook.presto.operator.aggregation.minmaxby.KeyAndBlockPositionValueStateSerializer.serialize(KeyAndBlockPositionValueStateSerializer.java:30)
at com.facebook.presto.$gen.Array_varchar_Array_varchar_IntegerMaxByGroupedAccumulator_20210514_091030_848.evaluateIntermediate(Unknown Source)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder$Aggregator.evaluate(InMemoryHashAggregationBuilder.java:444)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder.lambda$buildResult$3(InMemoryHashAggregationBuilder.java:302)
at com.facebook.presto.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:315)
at com.facebook.presto.operator.HashAggregationOperator.getOutput(HashAggregationOperator.java:480)
at com.facebook.presto.operator.Driver.processInternal(Driver.java:379)
at com.facebook.presto.operator.Driver.lambda$processFor$8(Driver.java:283)
at com.facebook.presto.operator.Driver.tryWithLock(Driver.java:675)
at com.facebook.presto.operator.Driver.processFor(Driver.java:276)
at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1077)
at com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:162)
at com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:483)
at com.facebook.presto.$gen.Presto_0_227____20210514_085209_1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Exception 2:
java.lang.UnsupportedOperationException: com.facebook.presto.spi.block.LongArrayBlockBuilder
at com.facebook.presto.spi.block.BlockBuilder.beginBlockEntry(BlockBuilder.java:67)
at com.facebook.presto.$gen.LongLongStateSerializer_20210514_101458_946.serialize(Unknown Source)
at com.facebook.presto.$gen.BigintBigintIntegerMaxByGroupedAccumulator_20210514_101458_949.evaluateIntermediate(Unknown Source)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder$Aggregator.evaluate(InMemoryHashAggregationBuilder.java:444)
at com.facebook.presto.operator.aggregation.builder.InMemoryHashAggregationBuilder.lambda$buildResult$3(InMemoryHashAggregationBuilder.java:302)
at com.facebook.presto.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:315)
at com.facebook.presto.operator.HashAggregationOperator.getOutput(HashAggregationOperator.java:480)
at com.facebook.presto.operator.Driver.processInternal(Driver.java:379)
at com.facebook.presto.operator.Driver.lambda$processFor$8(Driver.java:283)
at com.facebook.presto.operator.Driver.tryWithLock(Driver.java:675)
at com.facebook.presto.operator.Driver.processFor(Driver.java:276)
at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1077)
at com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:162)
at com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:483)
at com.facebook.presto.$gen.Presto_0_227____20210514_085211_1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Query:
WITH base_data as
(
SELECT player_id
, registration_date
, country_name
, operating_system_original
, current_date
FROM table_a
WHERE pp.registration_date <= <current_date>
)
, interim_data as
(
SELECT
current_date
, pds.player_id
, MAX_BY(a, pds.processdate) as a
, MAX_BY(b, pds.processdate) as b
, MAX_BY(c, pds.processdate) as c
, MAX_BY(d, pds.processdate) as d
, MAX_BY(e, pds.processdate) as e
, MAX_BY(f, pds.processdate) as f
, MAX_BY(g, pds.processdate) as g
, MAX_BY(h, pds.processdate) as h
, MAX_BY(i, pds.processdate) as i
, MAX_BY(clan_id_array, pds.processdate) as clan_id_array
, MAX_BY(clan_role_array, pds.processdate) as clan_role_array
, MAX_BY(j, pds.processdate) as j
, MAX_BY(k, pds.processdate) as k
, MAX_BY(l, pds.processdate) as l
, MAX_BY(m, pds.processdate) as m
, MAX_BY(n, pds.processdate) as n
, MAX_BY(o, pds.processdate) as o
, MAX_BY(p, pds.processdate) as p
, MAX_BY(q, pds.processdate) as q
, MAX_BY(r, pds.processdate) as r
, MAX_BY(s, pds.processdate) as s
, MAX_BY(t, pds.processdate) as t
, SUM(u) as u
, SUM(v) as v
, SUM(w) as w
, SUM(x) as x
, SUM(y) as y
, SUM(z) as z
, SUM(element_at(a1, 'normal')) as normal_a1
, SUM(element_at(a1, 'rainbow')) as rainbow_a1
, SUM(element_at(b1, 'normal')) as normal_b1
, SUM(element_at(b1, 'rainbow')) as rainbow_b1
, SUM(element_at(c1, 'normal')) as normal_c1
, SUM(element_at(c1, 'rainbow')) as rainbow_c1
, SUM(element_at(d1, 'normal')) as normal_d1
, SUM(element_at(d1, 'rainbow')) as rainbow_d1
, SUM(element_at(e1, 'normal')) as normal_e1
, SUM(element_at(e1, 'rainbow')) as rainbow_e1
, SUM(element_at(f1, 'normal')) as normal_f1
, SUM(element_at(f1, 'rainbow')) as rainbow_f1
, SUM(element_at(g1, 'normal')) as normal_g1
, SUM(element_at(g1, 'rainbow')) as rainbow_g1
, SUM(element_at(h1, 'normal')) as normal_h1
, SUM(element_at(h1, 'rainbow')) as rainbow_h1
, SUM(element_at(i1, 'normal')) as normal_i1
, SUM(element_at(i1, 'rainbow')) as rainbow_i1
, SUM(element_at(j1, 'normal')) as normal_j1
, SUM(element_at(j1, 'rainbow')) as rainbow_j1
, SUM(element_at(k1, 'normal')) as normal_k1
, SUM(element_at(k1, 'rainbow')) as rainbow_k1
FROM table_b
WHERE processdate <= <current_date>
GROUP BY 2,1
)
SELECT player_id
, registration_date
, country_name
, operating_system_original
, current_date
, a
, b
, c
, d
, e
, f
, g
, h
, i
, clan_id_array
, clan_role_array
, j
, k
, l
, m
, n
, o
, p
, q
, r
, s
, t
, u
, v
, w
, x
, y
, z
, map_from_entries(ARRAY[
('normal_a1', normal_a1)
, ('rainbow_a1', rainbow_a1)
, ('normal_b1', normal_b1)
, ('normal_b1', normal_b1)
, ('normal_c1', normal_c1)
, ('rainbow_c1', rainbow_c1)
, ('normal_d1', normal_d1)
, ('rainbow_d1', rainbow_d1)
, ('normal_e1', normal_e1)
, ('rainbow_e1', rainbow_e1)
, ('normal_f1', normal_f1)
, ('rainbow_f1', rainbow_f1)
, ('normal_g1', normal_g1)
, ('rainbow_g1', rainbow_g1)
, ('normal_h1', normal_h1)
, ('rainbow_h1', rainbow_h1)
, ('normal_i1', normal_i1)
, ('rainbow_i1', rainbow_i1)
, ('normal_j1', normal_j1)
, ('rainbow_j1', rainbow_j1)
, ('normal_k1', normal_k1)
, ('rainbow_k1', rainbow_k1)
]) as map_var
, bd.processdate
FROM base_data as bd
LEFT JOIN interim_data as id
ON bd.player_id=id.player_id
Query Comments
There are two tables:
The query above, given a current_date, scan over all the entries in table_b, and finds the most recent value of some metrics and sum of other metrics, until the current date.
The text was updated successfully, but these errors were encountered: