apache / apache/beam

Unnesting with large schema causes error

Open
#19,623 1 comment 0 reactions 0 assignees View on GitHub
bug dsl P3 sql
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

query: select id from table a, UNNEST(a.nested_field) this causes the following error if table a has a relatively large schema, especially with either Row\> or Array\> (nested repeated records or records with repeated records)

 

 
```

Aug 13, 2019 10:17:01 AM org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner convertToBeamRel
INFO:
SQL:
SELECT `a`.`artist_gid`
FROM `beam`.`endpoint1` AS `a`,
UNNEST(`a`.`genre`.`genres`) AS `genres`
Aug
13, 2019 10:17:01 AM org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner convertToBeamRel
INFO:
SQLPlan>
LogicalProject(artist_gid=[$0])
LogicalCorrelate(correlation=[$cor0], joinType=[inner],
requiredColumns=[{87}])
LogicalProject(artist_gid=[$0], artist_uri=[$1], date=[$2], id=[$3.id],
gid=[$3.gid], name=[$3.name], redirect=[$3.redirect], fuzzyname=[$3.fuzzyname], inserted=[$3.inserted],
echo_nest_artists=[$4], id10=[$5.id], similars=[$5.similars], gid12=[$6.gid], version=[$6.version],
vector=[$6.vector], value=[$7.value], gid16=[$7.gid], domains=[$7.domains], playlist_adds=[$8], uri=[$9.uri],
gid20=[$9.gid], region=[$9.region], popularity_raw=[$9.popularity_raw], popularity_normalized=[$9.popularity_normalized],
percentile=[$9.percentile], rank=[$9.rank], popularity_regional=[$10], gid27=[$11.gid], artist_name=[$11.artist_name],
bios=[$11.bios], ancestor_artists=[$11.ancestor_artists], descendant_artists=[$11.descendant_artists],
asserted_similars=[$11.asserted_similars], tags=[$11.tags], genres=[$11.genres], members=[$11.members],
members_past=[$11.members_past], meanings=[$11.meanings], country=[$11.country], voted_descriptions=[$11.voted_descriptions],
years_active=[$11.years_active], amazon_urls=[$11.amazon_urls], itunes_urls=[$11.itunes_urls], lastfm_urls=[$11.lastfm_urls],
facebook_urls=[$11.facebook_urls], urbandictionary_urls=[$11.urbandictionary_urls], wikipedia_urls=[$11.wikipedia_urls],
twitter_screennames=[$11.twitter_screennames], categories=[$11.categories], childrens=[$11.category.childrens],
classical=[$11.category.classical], curated=[$11.category.curated], deceptive=[$11.category.deceptive],
generic=[$11.category.generic], inactive=[$11.category.inactive], karaoke=[$11.category.karaoke], non_artist=[$11.category.non_artist],
soundalike=[$11.category.soundalike], unpreferred=[$11.category.unpreferred], offensive=[$11.category.offensive],
do_not_recommend=[$11.category.do_not_recommend], do_not_support=[$11.category.do_not_support], pass_on_programming=[$11.category.pass_on_programming],
deceased=[$11.category.deceased], edited_terms=[$11.edited_terms], edited_text_terms=[$11.edited_text_terms],
free_text_terms=[$11.free_text_terms], display_terms=[$11.display_terms], extra=[$11.extra], force_curated_sims=[$11.sims_curation.force_curated_sims],
curated_sims_uris=[$11.sims_curation.curated_sims_uris], blacklisted_sims_uris=[$11.sims_curation.blacklisted_sims_uris],
display_bios=[$11.display_bios], discogs_uri=[$11.discogs_uri], musicbrainz_uri=[$11.musicbrainz_uri],
rovi_music_uri=[$11.rovi_music_uri], blocked_display_bio_providers=[$11.blocked_display_bio_providers],
portrait=[$11.portrait], hidden_portraits=[$11.hidden_portraits], primary_portrait=[$11.primary_portrait],
imdb_urls=[$11.imdb_urls], instagram_screennames=[$11.instagram_screennames], myspace_urls=[$11.myspace_urls],
tumblr_screennames=[$11.tumblr_screennames], youtube_urls=[$11.youtube_urls], gid85=[$12.gid], acousticVector=[$12.acousticVector],
gid87=[$13.gid], genres88=[$13.genres], extended_genres=[$13.extended_genres], currency=[$14])

BeamIOSourceRel(table=[[beam, endpoint1]])
Uncollect
LogicalProject(genres=[$cor0.genres_88])

LogicalValues(tuples=[[{ 0 }]])

org.apache.beam.sdk.extensions.sql.impl.SqlConversionException:
Unable to convert query select artist_gid from endpoint1 a, UNNEST(a.genre.genres) as genres

at
org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner.convertToBeamRel(CalciteQueryPlanner.java:170)
at
org.apache.beam.sdk.extensions.sql.impl.BeamSqlEnv.parseQuery(BeamSqlEnv.java:103)
at org.apache.beam.sdk.extensions.sql.SqlTransform.expand(SqlTransform.java:124)
at
org.apache.beam.sdk.extensions.sql.SqlTransform.expand(SqlTransform.java:82)
at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:539)
at
org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:473)
at org.apache.beam.sdk.values.PCollectionTuple.apply(PCollectionTuple.java:248)
at
com.spotify.data.sql.SqlExecutor.run(SqlExecutor.java:93)
at com.spotify.data.sql.SqlExecutorTest.testBigQueryRow2(SqlExecutorTest.java:246)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at
org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at
org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at
org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused
by: org.apache.beam.repackaged.sql.org.apache.calcite.plan.RelOptPlanner$CannotPlanException: There
are not enough rules to produce a node with desired properties: convention=BEAM_LOGICAL. All the inputs
have relevant nodes, however the cost is still infinite.
Root: rel#51:Subset#6.BEAM_LOGICAL
Original
rel:
LogicalProject(subset=[rel#51:Subset#6.BEAM_LOGICAL], artist_gid=[$0]): rowcount = 1.0, cumulative
cost = {inf}, id = 49
LogicalCorrelate(subset=[rel#48:Subset#5.NONE], correlation=[$cor0], joinType=[inner],
requiredColumns=[{87}]): rowcount = 1.0, cumulative cost = {inf}, id = 47
LogicalProject(subset=[rel#41:Subset#1.NONE],
artist_gid=[$0], artist_uri=[$1], date=[$2], id=[$3.id], gid=[$3.gid], name=[$3.name], redirect=[$3.redirect],
fuzzyname=[$3.fuzzyname], inserted=[$3.inserted], echo_nest_artists=[$4], id10=[$5.id], similars=[$5.similars],
gid12=[$6.gid], version=[$6.version], vector=[$6.vector], value=[$7.value], gid16=[$7.gid], domains=[$7.domains],
playlist_adds=[$8], uri=[$9.uri], gid20=[$9.gid], region=[$9.region], popularity_raw=[$9.popularity_raw],
popularity_normalized=[$9.popularity_normalized], percentile=[$9.percentile], rank=[$9.rank], popularity_regional=[$10],
gid27=[$11.gid], artist_name=[$11.artist_name], bios=[$11.bios], ancestor_artists=[$11.ancestor_artists],
descendant_artists=[$11.descendant_artists], asserted_similars=[$11.asserted_similars], tags=[$11.tags],
genres=[$11.genres], members=[$11.members], members_past=[$11.members_past], meanings=[$11.meanings],
country=[$11.country], voted_descriptions=[$11.voted_descriptions], years_active=[$11.years_active],
amazon_urls=[$11.amazon_urls], itunes_urls=[$11.itunes_urls], lastfm_urls=[$11.lastfm_urls], facebook_urls=[$11.facebook_urls],
urbandictionary_urls=[$11.urbandictionary_urls], wikipedia_urls=[$11.wikipedia_urls], twitter_screennames=[$11.twitter_screennames],
categories=[$11.categories], childrens=[$11.category.childrens], classical=[$11.category.classical],
curated=[$11.category.curated], deceptive=[$11.category.deceptive], generic=[$11.category.generic],
inactive=[$11.category.inactive], karaoke=[$11.category.karaoke], non_artist=[$11.category.non_artist],
soundalike=[$11.category.soundalike], unpreferred=[$11.category.unpreferred], offensive=[$11.category.offensive],
do_not_recommend=[$11.category.do_not_recommend], do_not_support=[$11.category.do_not_support], pass_on_programming=[$11.category.pass_on_programming],
deceased=[$11.category.deceased], edited_terms=[$11.edited_terms], edited_text_terms=[$11.edited_text_terms],
free_text_terms=[$11.free_text_terms], display_terms=[$11.display_terms], extra=[$11.extra], force_curated_sims=[$11.sims_curation.force_curated_sims],
curated_sims_uris=[$11.sims_curation.curated_sims_uris], blacklisted_sims_uris=[$11.sims_curation.blacklisted_sims_uris],
display_bios=[$11.display_bios], discogs_uri=[$11.discogs_uri], musicbrainz_uri=[$11.musicbrainz_uri],
rovi_music_uri=[$11.rovi_music_uri], blocked_display_bio_providers=[$11.blocked_display_bio_providers],
portrait=[$11.portrait], hidden_portraits=[$11.hidden_portraits], primary_portrait=[$11.primary_portrait],
imdb_urls=[$11.imdb_urls], instagram_screennames=[$11.instagram_screennames], myspace_urls=[$11.myspace_urls],
tumblr_screennames=[$11.tumblr_screennames], youtube_urls=[$11.youtube_urls], gid85=[$12.gid], acousticVector=[$12.acousticVector],
gid87=[$13.gid], genres88=[$13.genres], extended_genres=[$13.extended_genres], currency=[$14]): rowcount
= 100.0, cumulative cost = {inf}, id = 40
BeamIOSourceRel(subset=[rel#39:Subset#0.BEAM_LOGICAL],
table=[[beam, endpoint1]]): rowcount = 100.0, cumulative cost = {100.0 cpu, 0.0 cpuRate }, id = 6

Uncollect(subset=[rel#46:Subset#4.NONE]): rowcount = 1.0, cumulative cost = {inf}, id = 45

LogicalProject(subset=[rel#44:Subset#3.NONE], genres=[$cor0.genres_88]): rowcount = 1.0, cumulative
cost = {inf}, id = 43
LogicalValues(subset=[rel#42:Subset#2.NONE], tuples=[[{ 0 }]]): rowcount
= 1.0, cumulative cost = {inf}, id = 8

Sets:
Set#0, type: RecordType(VARCHAR artist_gid, VARCHAR
artist_uri, VARCHAR date, RecordType(BIGINT id, VARCHAR gid, VARCHAR name, BIGINT redirect, VARCHAR
fuzzyname, BIGINT inserted) metadata_artist, RecordType(VARCHAR en_id, VARCHAR name, VARCHAR spotify_best_match_gid,
VARCHAR ARRAY spotify_gids, VARCHAR ARRAY aliases, VARCHAR ARRAY urls, RecordType(VARCHAR attribution_url,
VARCHAR attribution, RecordType(VARCHAR name, VARCHAR url, VARCHAR version) license, VARCHAR biography,
VARCHAR biography_site, VARCHAR biography_url) ARRAY biographies, RecordType(VARCHAR name, VARCHAR language)
ARRAY display_aliases, RecordType(VARCHAR name, BIGINT rank, VARCHAR spotify_gid) ARRAY genres, RecordType(VARCHAR
name, BIGINT count, VARCHAR spotify_gid) ARRAY inferred_genres, VARCHAR ARRAY meta_genres, VARCHAR ARRAY
merge_names, RecordType(VARCHAR en_id, DOUBLE score) ARRAY computed_similar_en_ids, RecordType(VARCHAR
key, VARCHAR value) ARRAY url_map, VARCHAR country, VARCHAR country_code, DOUBLE latitude, DOUBLE longitude,
VARCHAR location, VARCHAR location_raw, VARCHAR region, VARCHAR town, RecordType(BIGINT start, BIGINT
stop) ARRAY years_active_ranges, RecordType(DOUBLE score, BIGINT rank) discovery, RecordType(DOUBLE
score, BIGINT rank) familiarity, RecordType(DOUBLE score, BIGINT rank) hotttnesss, RecordType(VARCHAR
name, DOUBLE frequency, BIGINT weight) ARRAY display_top_terms, RecordType(VARCHAR name, DOUBLE frequency,
BIGINT weight) ARRAY edited_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY
edited_text_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY free_text_top_terms,
VARCHAR ARRAY descendant_en_ids, VARCHAR ARRAY crawled_genres, VARCHAR ARRAY ancestor_en_ids, VARCHAR
ARRAY shared_members, VARCHAR ARRAY members, VARCHAR ARRAY crawled_similar_en_ids, VARCHAR ARRAY styles,
VARCHAR ARRAY tags, BOOLEAN ambiguous, BOOLEAN kids_music, VARCHAR ARRAY musicbrainz_ids) ARRAY echo_nest_artists,
RecordType(VARCHAR id, RecordType(VARCHAR id, DOUBLE score, RecordType(VARCHAR field, RecordType(VARCHAR
value, DOUBLE query_boost) ARRAY matched_values) ARRAY explain_info, BOOLEAN curated) ARRAY similars)
artist_sims, RecordType(VARCHAR gid, VARCHAR version, DOUBLE ARRAY vector) vector, RecordType(BIGINT
value, VARCHAR gid, VARCHAR ARRAY domains) followers, RecordType(BIGINT value, VARCHAR gid, VARCHAR
country) ARRAY playlist_adds, RecordType(VARCHAR uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw,
DOUBLE popularity_normalized, DOUBLE percentile, BIGINT rank) popularity_global, RecordType(VARCHAR
uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw, DOUBLE popularity_normalized, DOUBLE percentile,
BIGINT rank) ARRAY popularity_regional, RecordType(VARCHAR gid, VARCHAR artist_name, RecordType(VARCHAR
bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR
attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY bios, RecordType(VARCHAR name, VARCHAR
url, VARCHAR gid) ARRAY ancestor_artists, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY descendant_artists,
RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY asserted_similars, RecordType(VARCHAR tag_text,
DOUBLE weight) ARRAY tags, VARCHAR ARRAY genres, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid)
ARRAY members, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY members_past, VARCHAR ARRAY
meanings, VARCHAR country, RecordType(VARCHAR voted_description_text, BIGINT votes_up, BIGINT votes_down)
ARRAY voted_descriptions, RecordType(BIGINT year_start, BIGINT year_stop) ARRAY years_active, VARCHAR
ARRAY amazon_urls, VARCHAR ARRAY itunes_urls, VARCHAR ARRAY lastfm_urls, VARCHAR ARRAY facebook_urls,
VARCHAR ARRAY urbandictionary_urls, VARCHAR ARRAY wikipedia_urls, VARCHAR ARRAY twitter_screennames,
VARCHAR ARRAY categories, RecordType(BOOLEAN childrens, BOOLEAN classical, BOOLEAN curated, BOOLEAN
deceptive, BOOLEAN generic, BOOLEAN inactive, BOOLEAN karaoke, BOOLEAN non_artist, BOOLEAN soundalike,
BOOLEAN unpreferred, BOOLEAN offensive, BOOLEAN do_not_recommend, BOOLEAN do_not_support, BOOLEAN pass_on_programming,
BOOLEAN deceased) category, RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_terms,
RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_text_terms, RecordType(VARCHAR
term_text, BIGINT frequency, DOUBLE weight) ARRAY free_text_terms, RecordType(VARCHAR term_text, BIGINT
frequency, DOUBLE weight) ARRAY display_terms, RecordType(VARCHAR key, VARCHAR value) ARRAY extra, RecordType(BOOLEAN
force_curated_sims, VARCHAR ARRAY curated_sims_uris, VARCHAR ARRAY blacklisted_sims_uris) sims_curation,
RecordType(VARCHAR bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version,
VARCHAR attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY display_bios, VARCHAR ARRAY
discogs_uri, VARCHAR ARRAY musicbrainz_uri, VARCHAR ARRAY rovi_music_uri, RecordType(VARCHAR bio_provider,
VARCHAR comment) ARRAY blocked_display_bio_providers, RecordType(VARCHAR rovi_image_id, BIGINT sort_order,
RecordType(VARCHAR size, VARCHAR url, BIGINT width, BIGINT height) ARRAY sizes) ARRAY portrait, VARCHAR
ARRAY hidden_portraits, VARCHAR primary_portrait, VARCHAR ARRAY imdb_urls, VARCHAR ARRAY instagram_screennames,
VARCHAR ARRAY myspace_urls, VARCHAR ARRAY tumblr_screennames, VARCHAR ARRAY youtube_urls) voted, RecordType(VARCHAR
gid, DOUBLE ARRAY acousticVector) acoustic_vector_2, RecordType(VARCHAR gid, RecordType(VARCHAR gid,
VARCHAR name) ARRAY genres, RecordType(VARCHAR gid, VARCHAR name) ARRAY extended_genres) genre, RecordType(DOUBLE
value, VARCHAR gid, VARCHAR region) ARRAY currency)
rel#39:Subset#0.BEAM_LOGICAL, best=rel#6, importance=0.6561
rel#6:BeamIOSourceRel.BEAM_LOGICAL(table=[beam,
endpoint1]), rowcount=100.0, cumulative cost={100.0 cpu, 0.0 cpuRate }
rel#91:Subset#0.ENUMERABLE,
best=rel#90, importance=0.32805
rel#90:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#39), rowcount=100.0,
cumulative cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }
Set#1, type: RecordType(VARCHAR
artist_gid, VARCHAR artist_uri, VARCHAR date, BIGINT id, VARCHAR gid, VARCHAR name, BIGINT redirect,
VARCHAR fuzzyname, BIGINT inserted, RecordType(VARCHAR en_id, VARCHAR name, VARCHAR spotify_best_match_gid,
VARCHAR ARRAY spotify_gids, VARCHAR ARRAY aliases, VARCHAR ARRAY urls, RecordType(VARCHAR attribution_url,
VARCHAR attribution, RecordType(VARCHAR name, VARCHAR url, VARCHAR version) license, VARCHAR biography,
VARCHAR biography_site, VARCHAR biography_url) ARRAY biographies, RecordType(VARCHAR name, VARCHAR language)
ARRAY display_aliases, RecordType(VARCHAR name, BIGINT rank, VARCHAR spotify_gid) ARRAY genres, RecordType(VARCHAR
name, BIGINT count, VARCHAR spotify_gid) ARRAY inferred_genres, VARCHAR ARRAY meta_genres, VARCHAR ARRAY
merge_names, RecordType(VARCHAR en_id, DOUBLE score) ARRAY computed_similar_en_ids, RecordType(VARCHAR
key, VARCHAR value) ARRAY url_map, VARCHAR country, VARCHAR country_code, DOUBLE latitude, DOUBLE longitude,
VARCHAR location, VARCHAR location_raw, VARCHAR region, VARCHAR town, RecordType(BIGINT start, BIGINT
stop) ARRAY years_active_ranges, RecordType(DOUBLE score, BIGINT rank) discovery, RecordType(DOUBLE
score, BIGINT rank) familiarity, RecordType(DOUBLE score, BIGINT rank) hotttnesss, RecordType(VARCHAR
name, DOUBLE frequency, BIGINT weight) ARRAY display_top_terms, RecordType(VARCHAR name, DOUBLE frequency,
BIGINT weight) ARRAY edited_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY
edited_text_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY free_text_top_terms,
VARCHAR ARRAY descendant_en_ids, VARCHAR ARRAY crawled_genres, VARCHAR ARRAY ancestor_en_ids, VARCHAR
ARRAY shared_members, VARCHAR ARRAY members, VARCHAR ARRAY crawled_similar_en_ids, VARCHAR ARRAY styles,
VARCHAR ARRAY tags, BOOLEAN ambiguous, BOOLEAN kids_music, VARCHAR ARRAY musicbrainz_ids) ARRAY echo_nest_artists,
VARCHAR id10, RecordType(VARCHAR id, DOUBLE score, RecordType(VARCHAR field, RecordType(VARCHAR value,
DOUBLE query_boost) ARRAY matched_values) ARRAY explain_info, BOOLEAN curated) ARRAY similars, VARCHAR
gid12, VARCHAR version, DOUBLE ARRAY vector, BIGINT value, VARCHAR gid16, VARCHAR ARRAY domains, RecordType(BIGINT
value, VARCHAR gid, VARCHAR country) ARRAY playlist_adds, VARCHAR uri, VARCHAR gid20, VARCHAR region,
DOUBLE popularity_raw, DOUBLE popularity_normalized, DOUBLE percentile, BIGINT rank, RecordType(VARCHAR
uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw, DOUBLE popularity_normalized, DOUBLE percentile,
BIGINT rank) ARRAY popularity_regional, VARCHAR gid27, VARCHAR artist_name, RecordType(VARCHAR bio_text,
VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR attribution_text,
VARCHAR attribution_url, VARCHAR language) ARRAY bios, RecordType(VARCHAR name, VARCHAR url, VARCHAR
gid) ARRAY ancestor_artists, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY descendant_artists,
RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY asserted_similars, RecordType(VARCHAR tag_text,
DOUBLE weight) ARRAY tags, VARCHAR ARRAY genres, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid)
ARRAY members, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY members_past, VARCHAR ARRAY
meanings, VARCHAR country, RecordType(VARCHAR voted_description_text, BIGINT votes_up, BIGINT votes_down)
ARRAY voted_descriptions, RecordType(BIGINT year_start, BIGINT year_stop) ARRAY years_active, VARCHAR
ARRAY amazon_urls, VARCHAR ARRAY itunes_urls, VARCHAR ARRAY lastfm_urls, VARCHAR ARRAY facebook_urls,
VARCHAR ARRAY urbandictionary_urls, VARCHAR ARRAY wikipedia_urls, VARCHAR ARRAY twitter_screennames,
VARCHAR ARRAY categories, BOOLEAN childrens, BOOLEAN classical, BOOLEAN curated, BOOLEAN deceptive,
BOOLEAN generic, BOOLEAN inactive, BOOLEAN karaoke, BOOLEAN non_artist, BOOLEAN soundalike, BOOLEAN
unpreferred, BOOLEAN offensive, BOOLEAN do_not_recommend, BOOLEAN do_not_support, BOOLEAN pass_on_programming,
BOOLEAN deceased, RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_terms,
RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_text_terms, RecordType(VARCHAR
term_text, BIGINT frequency, DOUBLE weight) ARRAY free_text_terms, RecordType(VARCHAR term_text, BIGINT
frequency, DOUBLE weight) ARRAY display_terms, RecordType(VARCHAR key, VARCHAR value) ARRAY extra, BOOLEAN
force_curated_sims, VARCHAR ARRAY curated_sims_uris, VARCHAR ARRAY blacklisted_sims_uris, RecordType(VARCHAR
bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR
attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY display_bios, VARCHAR ARRAY discogs_uri,
VARCHAR ARRAY musicbrainz_uri, VARCHAR ARRAY rovi_music_uri, RecordType(VARCHAR bio_provider, VARCHAR
comment) ARRAY blocked_display_bio_providers, RecordType(VARCHAR rovi_image_id, BIGINT sort_order, RecordType(VARCHAR
size, VARCHAR url, BIGINT width, BIGINT height) ARRAY sizes) ARRAY portrait, VARCHAR ARRAY hidden_portraits,
VARCHAR primary_portrait, VARCHAR ARRAY imdb_urls, VARCHAR ARRAY instagram_screennames, VARCHAR ARRAY
myspace_urls, VARCHAR ARRAY tumblr_screennames, VARCHAR ARRAY youtube_urls, VARCHAR gid85, DOUBLE ARRAY
acousticVector, VARCHAR gid87, RecordType(VARCHAR gid, VARCHAR name) ARRAY genres88, RecordType(VARCHAR
gid, VARCHAR name) ARRAY extended_genres, RecordType(DOUBLE value, VARCHAR gid, VARCHAR region) ARRAY
currency)
rel#41:Subset#1.NONE, best=null, importance=0.7290000000000001
rel#40:LogicalProject.NONE(input=RelSubset#39,artist_gid=$0,artist_uri=$1,date=$2,id=$3.id,gid=$3.gid,name=$3.name,redirect=$3.redirect,fuzzyname=$3.fuzzyname,inserted=$3.inserted,echo_nest_artists=$4,id10=$5.id,similars=$5.similars,gid12=$6.gid,version=$6.version,vector=$6.vector,value=$7.value,gid16=$7.gid,domains=$7.domains,playlist_adds=$8,uri=$9.uri,gid20=$9.gid,region=$9.region,popularity_raw=$9.popularity_raw,popularity_normalized=$9.popularity_normalized,percentile=$9.percentile,rank=$9.rank,popularity_regional=$10,gid27=$11.gid,artist_name=$11.artist_name,bios=$11.bios,ancestor_artists=$11.ancestor_artists,descendant_artists=$11.descendant_artists,asserted_similars=$11.asserted_similars,tags=$11.tags,genres=$11.genres,members=$11.members,members_past=$11.members_past,meanings=$11.meanings,country=$11.country,voted_descriptions=$11.voted_descriptions,years_active=$11.years_active,amazon_urls=$11.amazon_urls,itunes_urls=$11.itunes_urls,lastfm_urls=$11.lastfm_urls,facebook_urls=$11.facebook_urls,urbandictionary_urls=$11.urbandictionary_urls,wikipedia_urls=$11.wikipedia_urls,twitter_screennames=$11.twitter_screennames,categories=$11.categories,childrens=$11.category.childrens,classical=$11.category.classical,curated=$11.category.curated,deceptive=$11.category.deceptive,generic=$11.category.generic,inactive=$11.category.inactive,karaoke=$11.category.karaoke,non_artist=$11.category.non_artist,soundalike=$11.category.soundalike,unpreferred=$11.category.unpreferred,offensive=$11.category.offensive,do_not_recommend=$11.category.do_not_recommend,do_not_support=$11.category.do_not_support,pass_on_programming=$11.category.pass_on_programming,deceased=$11.category.deceased,edited_terms=$11.edited_terms,edited_text_terms=$11.edited_text_terms,free_text_terms=$11.free_text_terms,display_terms=$11.display_terms,extra=$11.extra,force_curated_sims=$11.sims_curation.force_curated_sims,curated_sims_uris=$11.sims_curation.curated_sims_uris,blacklisted_sims_uris=$11.sims_curation.blacklisted_sims_uris,display_bios=$11.display_bios,discogs_uri=$11.discogs_uri,musicbrainz_uri=$11.musicbrainz_uri,rovi_music_uri=$11.rovi_music_uri,blocked_display_bio_providers=$11.blocked_display_bio_providers,portrait=$11.portrait,hidden_portraits=$11.hidden_portraits,primary_portrait=$11.primary_portrait,imdb_urls=$11.imdb_urls,instagram_screennames=$11.instagram_screennames,myspace_urls=$11.myspace_urls,tumblr_screennames=$11.tumblr_screennames,youtube_urls=$11.youtube_urls,gid85=$12.gid,acousticVector=$12.acousticVector,gid87=$13.gid,genres88=$13.genres,extended_genres=$13.extended_genres,currency=$14),
rowcount=100.0, cumulative cost={inf}
rel#64:LogicalCalc.NONE(input=RelSubset#39,expr#0..14={inputs},expr#15=$t3.id,expr#16=$t3.gid,expr#17=$t3.name,expr#18=$t3.redirect,expr#19=$t3.fuzzyname,expr#20=$t3.inserted,expr#21=$t5.id,expr#22=$t5.similars,expr#23=$t6.gid,expr#24=$t6.version,expr#25=$t6.vector,expr#26=$t7.value,expr#27=$t7.gid,expr#28=$t7.domains,expr#29=$t9.uri,expr#30=$t9.gid,expr#31=$t9.region,expr#32=$t9.popularity_raw,expr#33=$t9.popularity_normalized,expr#34=$t9.percentile,expr#35=$t9.rank,expr#36=$t11.gid,expr#37=$t11.artist_name,expr#38=$t11.bios,expr#39=$t11.ancestor_artists,expr#40=$t11.descendant_artists,expr#41=$t11.asserted_similars,expr#42=$t11.tags,expr#43=$t11.genres,expr#44=$t11.members,expr#45=$t11.members_past,expr#46=$t11.meanings,expr#47=$t11.country,expr#48=$t11.voted_descriptions,expr#49=$t11.years_active,expr#50=$t11.amazon_urls,expr#51=$t11.itunes_urls,expr#52=$t11.lastfm_urls,expr#53=$t11.facebook_urls,expr#54=$t11.urbandictionary_urls,expr#55=$t11.wikipedia_urls,expr#56=$t11.twitter_screennames,expr#57=$t11.categories,expr#58=$t11.category,expr#59=$t58.childrens,expr#60=$t58.classical,expr#61=$t58.curated,expr#62=$t58.deceptive,expr#63=$t58.generic,expr#64=$t58.inactive,expr#65=$t58.karaoke,expr#66=$t58.non_artist,expr#67=$t58.soundalike,expr#68=$t58.unpreferred,expr#69=$t58.offensive,expr#70=$t58.do_not_recommend,expr#71=$t58.do_not_support,expr#72=$t58.pass_on_programming,expr#73=$t58.deceased,expr#74=$t11.edited_terms,expr#75=$t11.edited_text_terms,expr#76=$t11.free_text_terms,expr#77=$t11.display_terms,expr#78=$t11.extra,expr#79=$t11.sims_curation,expr#80=$t79.force_curated_sims,expr#81=$t79.curated_sims_uris,expr#82=$t79.blacklisted_sims_uris,expr#83=$t11.display_bios,expr#84=$t11.discogs_uri,expr#85=$t11.musicbrainz_uri,expr#86=$t11.rovi_music_uri,expr#87=$t11.blocked_display_bio_providers,expr#88=$t11.portrait,expr#89=$t11.hidden_portraits,expr#90=$t11.primary_portrait,expr#91=$t11.imdb_urls,expr#92=$t11.instagram_screennames,expr#93=$t11.myspace_urls,expr#94=$t11.tumblr_screennames,expr#95=$t11.youtube_urls,expr#96=$t12.gid,expr#97=$t12.acousticVector,expr#98=$t13.gid,expr#99=$t13.genres,expr#100=$t13.extended_genres,artist_gid=$t0,artist_uri=$t1,date=$t2,id=$t15,gid=$t16,name=$t17,redirect=$t18,fuzzyname=$t19,inserted=$t20,echo_nest_artists=$t4,id10=$t21,similars=$t22,gid12=$t23,version=$t24,vector=$t25,value=$t26,gid16=$t27,domains=$t28,playlist_adds=$t8,uri=$t29,gid20=$t30,region=$t31,popularity_raw=$t32,popularity_normalized=$t33,percentile=$t34,rank=$t35,popularity_regional=$t10,gid27=$t36,artist_name=$t37,bios=$t38,ancestor_artists=$t39,descendant_artists=$t40,asserted_similars=$t41,tags=$t42,genres=$t43,members=$t44,members_past=$t45,meanings=$t46,country=$t47,voted_descriptions=$t48,years_active=$t49,amazon_urls=$t50,itunes_urls=$t51,lastfm_urls=$t52,facebook_urls=$t53,urbandictionary_urls=$t54,wikipedia_urls=$t55,twitter_screennames=$t56,categories=$t57,childrens=$t59,classical=$t60,curated=$t61,deceptive=$t62,generic=$t63,inactive=$t64,karaoke=$t65,non_artist=$t66,soundalike=$t67,unpreferred=$t68,offensive=$t69,do_not_recommend=$t70,do_not_support=$t71,pass_on_programming=$t72,deceased=$t73,edited_terms=$t74,edited_text_terms=$t75,free_text_terms=$t76,display_terms=$t77,extra=$t78,force_curated_sims=$t80,curated_sims_uris=$t81,blacklisted_sims_uris=$t82,display_bios=$t83,discogs_uri=$t84,musicbrainz_uri=$t85,rovi_music_uri=$t86,blocked_display_bio_providers=$t87,portrait=$t88,hidden_portraits=$t89,primary_portrait=$t90,imdb_urls=$t91,instagram_screennames=$t92,myspace_urls=$t93,tumblr_screennames=$t94,youtube_urls=$t95,gid85=$t96,acousticVector=$t97,gid87=$t98,genres88=$t99,extended_genres=$t100,currency=$t14),
rowcount=100.0, cumulative cost={inf}
rel#66:Subset#1.BEAM_LOGICAL, best=rel#65, importance=0.36450000000000005
rel#65:BeamCalcRel.BEAM_LOGICAL(input=RelSubset#39,expr#0..14={inputs},expr#15=$t3.id,expr#16=$t3.gid,expr#17=$t3.name,expr#18=$t3.redirect,expr#19=$t3.fuzzyname,expr#20=$t3.inserted,expr#21=$t5.id,expr#22=$t5.similars,expr#23=$t6.gid,expr#24=$t6.version,expr#25=$t6.vector,expr#26=$t7.value,expr#27=$t7.gid,expr#28=$t7.domains,expr#29=$t9.uri,expr#30=$t9.gid,expr#31=$t9.region,expr#32=$t9.popularity_raw,expr#33=$t9.popularity_normalized,expr#34=$t9.percentile,expr#35=$t9.rank,expr#36=$t11.gid,expr#37=$t11.artist_name,expr#38=$t11.bios,expr#39=$t11.ancestor_artists,expr#40=$t11.descendant_artists,expr#41=$t11.asserted_similars,expr#42=$t11.tags,expr#43=$t11.genres,expr#44=$t11.members,expr#45=$t11.members_past,expr#46=$t11.meanings,expr#47=$t11.country,expr#48=$t11.voted_descriptions,expr#49=$t11.years_active,expr#50=$t11.amazon_urls,expr#51=$t11.itunes_urls,expr#52=$t11.lastfm_urls,expr#53=$t11.facebook_urls,expr#54=$t11.urbandictionary_urls,expr#55=$t11.wikipedia_urls,expr#56=$t11.twitter_screennames,expr#57=$t11.categories,expr#58=$t11.category,expr#59=$t58.childrens,expr#60=$t58.classical,expr#61=$t58.curated,expr#62=$t58.deceptive,expr#63=$t58.generic,expr#64=$t58.inactive,expr#65=$t58.karaoke,expr#66=$t58.non_artist,expr#67=$t58.soundalike,expr#68=$t58.unpreferred,expr#69=$t58.offensive,expr#70=$t58.do_not_recommend,expr#71=$t58.do_not_support,expr#72=$t58.pass_on_programming,expr#73=$t58.deceased,expr#74=$t11.edited_terms,expr#75=$t11.edited_text_terms,expr#76=$t11.free_text_terms,expr#77=$t11.display_terms,expr#78=$t11.extra,expr#79=$t11.sims_curation,expr#80=$t79.force_curated_sims,expr#81=$t79.curated_sims_uris,expr#82=$t79.blacklisted_sims_uris,expr#83=$t11.display_bios,expr#84=$t11.discogs_uri,expr#85=$t11.musicbrainz_uri,expr#86=$t11.rovi_music_uri,expr#87=$t11.blocked_display_bio_providers,expr#88=$t11.portrait,expr#89=$t11.hidden_portraits,expr#90=$t11.primary_portrait,expr#91=$t11.imdb_urls,expr#92=$t11.instagram_screennames,expr#93=$t11.myspace_urls,expr#94=$t11.tumblr_screennames,expr#95=$t11.youtube_urls,expr#96=$t12.gid,expr#97=$t12.acousticVector,expr#98=$t13.gid,expr#99=$t13.genres,expr#100=$t13.extended_genres,artist_gid=$t0,artist_uri=$t1,date=$t2,id=$t15,gid=$t16,name=$t17,redirect=$t18,fuzzyname=$t19,inserted=$t20,echo_nest_artists=$t4,id10=$t21,similars=$t22,gid12=$t23,version=$t24,vector=$t25,value=$t26,gid16=$t27,domains=$t28,playlist_adds=$t8,uri=$t29,gid20=$t30,region=$t31,popularity_raw=$t32,popularity_normalized=$t33,percentile=$t34,rank=$t35,popularity_regional=$t10,gid27=$t36,artist_name=$t37,bios=$t38,ancestor_artists=$t39,descendant_artists=$t40,asserted_similars=$t41,tags=$t42,genres=$t43,members=$t44,members_past=$t45,meanings=$t46,country=$t47,voted_descriptions=$t48,years_active=$t49,amazon_urls=$t50,itunes_urls=$t51,lastfm_urls=$t52,facebook_urls=$t53,urbandictionary_urls=$t54,wikipedia_urls=$t55,twitter_screennames=$t56,categories=$t57,childrens=$t59,classical=$t60,curated=$t61,deceptive=$t62,generic=$t63,inactive=$t64,karaoke=$t65,non_artist=$t66,soundalike=$t67,unpreferred=$t68,offensive=$t69,do_not_recommend=$t70,do_not_support=$t71,pass_on_programming=$t72,deceased=$t73,edited_terms=$t74,edited_text_terms=$t75,free_text_terms=$t76,display_terms=$t77,extra=$t78,force_curated_sims=$t80,curated_sims_uris=$t81,blacklisted_sims_uris=$t82,display_bios=$t83,discogs_uri=$t84,musicbrainz_uri=$t85,rovi_music_uri=$t86,blocked_display_bio_providers=$t87,portrait=$t88,hidden_portraits=$t89,primary_portrait=$t90,imdb_urls=$t91,instagram_screennames=$t92,myspace_urls=$t93,tumblr_screennames=$t94,youtube_urls=$t95,gid85=$t96,acousticVector=$t97,gid87=$t98,genres88=$t99,extended_genres=$t100,currency=$t14),
rowcount=100.0, cumulative cost={200.0 cpu, 0.0 cpuRate }
rel#77:Subset#1.ENUMERABLE, best=rel#76,
importance=0.36450000000000005
rel#76:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#66), rowcount=100.0,
cumulative cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }
Set#2, type: RecordType(INTEGER
ZERO)
rel#42:Subset#2.NONE, best=null, importance=0.5904900000000001
rel#8:LogicalValues.NONE(type=RecordType(INTEGER
ZERO),tuples=[{ 0 }]), rowcount=1.0, cumulative cost={inf}
rel#73:Subset#2.BEAM_LOGICAL, best=rel#75,
importance=0.29524500000000004
rel#75:BeamValuesRel.BEAM_LOGICAL(type=RecordType(INTEGER ZERO),tuples=[{
0 }]), rowcount=1.0, cumulative cost={1.0 cpu, 0.0 cpuRate }
rel#89:Subset#2.ENUMERABLE, best=rel#88,
importance=0.29524500000000004
rel#88:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#73), rowcount=1.0,
cumulative cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }
Set#3, type: RecordType(RecordType(VARCHAR
gid, VARCHAR name) ARRAY genres)
rel#44:Subset#3.NONE, best=null, importance=0.6561
rel#43:LogicalProject.NONE(input=RelSubset#42,genres=$cor0.genres_88),
rowcount=1.0, cumulative cost={inf}
rel#72:LogicalCalc.NONE(input=RelSubset#42,expr#0={inputs},expr#1=$cor0,expr#2=$t1.genres_88,genres=$t2),
rowcount=1.0, cumulative cost={inf}
rel#69:Subset#3.BEAM_LOGICAL, best=rel#74, importance=0.32805
rel#74:BeamCalcRel.BEAM_LOGICAL(input=RelSubset#73,expr#0={inputs},expr#1=$cor0,expr#2=$t1.genres_88,genres=$t2),
rowcount=1.0, cumulative cost={2.0 cpu, 0.0 cpuRate }
rel#86:Subset#3.ENUMERABLE, best=rel#85, importance=0.32805
rel#85:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#69),
rowcount=1.0, cumulative cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }
Set#4,
type: RecordType(VARCHAR gid, VARCHAR name)
rel#46:Subset#4.NONE, best=null, importance=0.7290000000000001
rel#45:Uncollect.NONE(input=RelSubset#44),
rowcount=1.0, cumulative cost={inf}
rel#71:Subset#4.BEAM_LOGICAL, best=rel#70, importance=0.36450000000000005
rel#70:BeamUncollectRel.BEAM_LOGICAL(input=RelSubset#69),
rowcount=1.0, cumulative cost={3.0 cpu, 1.0 cpuRate }
rel#81:Subset#4.ENUMERABLE, best=rel#80, importance=0.36450000000000005
rel#80:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#71),
rowcount=1.0, cumulative cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }
Set#5,
type: RecordType(VARCHAR artist_gid, VARCHAR artist_uri, VARCHAR date, BIGINT id, VARCHAR gid, VARCHAR
name, BIGINT redirect, VARCHAR fuzzyname, BIGINT inserted, RecordType(VARCHAR en_id, VARCHAR name, VARCHAR
spotify_best_match_gid, VARCHAR ARRAY spotify_gids, VARCHAR ARRAY aliases, VARCHAR ARRAY urls, RecordType(VARCHAR
attribution_url, VARCHAR attribution, RecordType(VARCHAR name, VARCHAR url, VARCHAR version) license,
VARCHAR biography, VARCHAR biography_site, VARCHAR biography_url) ARRAY biographies, RecordType(VARCHAR
name, VARCHAR language) ARRAY display_aliases, RecordType(VARCHAR name, BIGINT rank, VARCHAR spotify_gid)
ARRAY genres, RecordType(VARCHAR name, BIGINT count, VARCHAR spotify_gid) ARRAY inferred_genres, VARCHAR
ARRAY meta_genres, VARCHAR ARRAY merge_names, RecordType(VARCHAR en_id, DOUBLE score) ARRAY computed_similar_en_ids,
RecordType(VARCHAR key, VARCHAR value) ARRAY url_map, VARCHAR country, VARCHAR country_code, DOUBLE
latitude, DOUBLE longitude, VARCHAR location, VARCHAR location_raw, VARCHAR region, VARCHAR town, RecordType(BIGINT
start, BIGINT stop) ARRAY years_active_ranges, RecordType(DOUBLE score, BIGINT rank) discovery, RecordType(DOUBLE
score, BIGINT rank) familiarity, RecordType(DOUBLE score, BIGINT rank) hotttnesss, RecordType(VARCHAR
name, DOUBLE frequency, BIGINT weight) ARRAY display_top_terms, RecordType(VARCHAR name, DOUBLE frequency,
BIGINT weight) ARRAY edited_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY
edited_text_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY free_text_top_terms,
VARCHAR ARRAY descendant_en_ids, VARCHAR ARRAY crawled_genres, VARCHAR ARRAY ancestor_en_ids, VARCHAR
ARRAY shared_members, VARCHAR ARRAY members, VARCHAR ARRAY crawled_similar_en_ids, VARCHAR ARRAY styles,
VARCHAR ARRAY tags, BOOLEAN ambiguous, BOOLEAN kids_music, VARCHAR ARRAY musicbrainz_ids) ARRAY echo_nest_artists,
VARCHAR id10, RecordType(VARCHAR id, DOUBLE score, RecordType(VARCHAR field, RecordType(VARCHAR value,
DOUBLE query_boost) ARRAY matched_values) ARRAY explain_info, BOOLEAN curated) ARRAY similars, VARCHAR
gid12, VARCHAR version, DOUBLE ARRAY vector, BIGINT value, VARCHAR gid16, VARCHAR ARRAY domains, RecordType(BIGINT
value, VARCHAR gid, VARCHAR country) ARRAY playlist_adds, VARCHAR uri, VARCHAR gid20, VARCHAR region,
DOUBLE popularity_raw, DOUBLE popularity_normalized, DOUBLE percentile, BIGINT rank, RecordType(VARCHAR
uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw, DOUBLE popularity_normalized, DOUBLE percentile,
BIGINT rank) ARRAY popularity_regional, VARCHAR gid27, VARCHAR artist_name, RecordType(VARCHAR bio_text,
VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR attribution_text,
VARCHAR attribution_url, VARCHAR language) ARRAY bios, RecordType(VARCHAR name, VARCHAR url, VARCHAR
gid) ARRAY ancestor_artists, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY descendant_artists,
RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY asserted_similars, RecordType(VARCHAR tag_text,
DOUBLE weight) ARRAY tags, VARCHAR ARRAY genres, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid)
ARRAY members, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY members_past, VARCHAR ARRAY
meanings, VARCHAR country, RecordType(VARCHAR voted_description_text, BIGINT votes_up, BIGINT votes_down)
ARRAY voted_descriptions, RecordType(BIGINT year_start, BIGINT year_stop) ARRAY years_active, VARCHAR
ARRAY amazon_urls, VARCHAR ARRAY itunes_urls, VARCHAR ARRAY lastfm_urls, VARCHAR ARRAY facebook_urls,
VARCHAR ARRAY urbandictionary_urls, VARCHAR ARRAY wikipedia_urls, VARCHAR ARRAY twitter_screennames,
VARCHAR ARRAY categories, BOOLEAN childrens, BOOLEAN classical, BOOLEAN curated, BOOLEAN deceptive,
BOOLEAN generic, BOOLEAN inactive, BOOLEAN karaoke, BOOLEAN non_artist, BOOLEAN soundalike, BOOLEAN
unpreferred, BOOLEAN offensive, BOOLEAN do_not_recommend, BOOLEAN do_not_support, BOOLEAN pass_on_programming,
BOOLEAN deceased, RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_terms,
RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_text_terms, RecordType(VARCHAR
term_text, BIGINT frequency, DOUBLE weight) ARRAY free_text_terms, RecordType(VARCHAR term_text, BIGINT
frequency, DOUBLE weight) ARRAY display_terms, RecordType(VARCHAR key, VARCHAR value) ARRAY extra, BOOLEAN
force_curated_sims, VARCHAR ARRAY curated_sims_uris, VARCHAR ARRAY blacklisted_sims_uris, RecordType(VARCHAR
bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR
attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY display_bios, VARCHAR ARRAY discogs_uri,
VARCHAR ARRAY musicbrainz_uri, VARCHAR ARRAY rovi_music_uri, RecordType(VARCHAR bio_provider, VARCHAR
comment) ARRAY blocked_display_bio_providers, RecordType(VARCHAR rovi_image_id, BIGINT sort_order, RecordType(VARCHAR
size, VARCHAR url, BIGINT width, BIGINT height) ARRAY sizes) ARRAY portrait, VARCHAR ARRAY hidden_portraits,
VARCHAR primary_portrait, VARCHAR ARRAY imdb_urls, VARCHAR ARRAY instagram_screennames, VARCHAR ARRAY
myspace_urls, VARCHAR ARRAY tumblr_screennames, VARCHAR ARRAY youtube_urls, VARCHAR gid85, DOUBLE ARRAY
acousticVector, VARCHAR gid87, RecordType(VARCHAR gid, VARCHAR name) ARRAY genres88, RecordType(VARCHAR
gid, VARCHAR name) ARRAY extended_genres, RecordType(DOUBLE value, VARCHAR gid, VARCHAR region) ARRAY
currency, VARCHAR gid0, VARCHAR name0)
rel#48:Subset#5.NONE, best=null, importance=0.81
rel#47:LogicalCorrelate.NONE(left=RelSubset#41,right=RelSubset#46,correlation=$cor0,joinType=inner,requiredColumns={87}),
rowcount=1.0, cumulative cost={inf}
rel#54:Subset#5.BEAM_LOGICAL, best=null, importance=0.9
rel#60:BeamUnnestRel.BEAM_LOGICAL(input=RelSubset#41,unnestIndex=88),
rowcount=100.0, cumulative cost={inf}
rel#63:Subset#5.ENUMERABLE, best=null, importance=0.45
rel#62:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#54),
rowcount=1.0, cumulative cost={inf}
Set#6, type: RecordType(VARCHAR artist_gid)
rel#50:Subset#6.NONE,
best=null, importance=0.9
rel#49:LogicalProject.NONE(input=RelSubset#48,artist_gid=$0), rowcount=1.0,
cumulative cost={inf}
rel#53:LogicalCalc.NONE(input=RelSubset#48,expr#0..92={inputs},artist_gid=$t0),
rowcount=1.0, cumulative cost={inf}
rel#51:Subset#6.BEAM_LOGICAL, best=null, importance=1.0
rel#52:AbstractConverter.BEAM_LOGICAL(input=RelSubset#50,convention=BEAM_LOGICAL),
rowcount=1.0, cumulative cost={inf}
rel#55:BeamCalcRel.BEAM_LOGICAL(input=RelSubset#54,expr#0..92={inputs},artist_gid=$t0),
rowcount=1.0, cumulative cost={inf}
rel#58:Subset#6.ENUMERABLE, best=null, importance=0.5
rel#57:BeamEnumerableConverter.ENUMERABLE(input=RelSubset#51),
rowcount=1.0, cumulative cost={inf}

Graphviz:
digraph G {
root [style=filled,label="Root"];
subgraph
cluster0{
label="Set 0 RecordType(VARCHAR artist_gid, VARCHAR artist_uri, VARCHAR date, RecordType(BIGINT
id, VARCHAR gid, VARCHAR name, BIGINT redirect, VARCHAR fuzzyname, BIGINT inserted) metadata_artist,
RecordType(VARCHAR en_id, VARCHAR name, VARCHAR spotify_best_match_gid, VARCHAR ARRAY spotify_gids,
VARCHAR ARRAY aliases, VARCHAR ARRAY urls, RecordType(VARCHAR attribution_url, VARCHAR attribution,
RecordType(VARCHAR name, VARCHAR url, VARCHAR version) license, VARCHAR biography, VARCHAR biography_site,
VARCHAR biography_url) ARRAY biographies, RecordType(VARCHAR name, VARCHAR language) ARRAY display_aliases,
RecordType(VARCHAR name, BIGINT rank, VARCHAR spotify_gid) ARRAY genres, RecordType(VARCHAR name, BIGINT
count, VARCHAR spotify_gid) ARRAY inferred_genres, VARCHAR ARRAY meta_genres, VARCHAR ARRAY merge_names,
RecordType(VARCHAR en_id, DOUBLE score) ARRAY computed_similar_en_ids, RecordType(VARCHAR key, VARCHAR
value) ARRAY url_map, VARCHAR country, VARCHAR country_code, DOUBLE latitude, DOUBLE longitude, VARCHAR
location, VARCHAR location_raw, VARCHAR region, VARCHAR town, RecordType(BIGINT start, BIGINT stop)
ARRAY years_active_ranges, RecordType(DOUBLE score, BIGINT rank) discovery, RecordType(DOUBLE score,
BIGINT rank) familiarity, RecordType(DOUBLE score, BIGINT rank) hotttnesss, RecordType(VARCHAR name,
DOUBLE frequency, BIGINT weight) ARRAY display_top_terms, RecordType(VARCHAR name, DOUBLE frequency,
BIGINT weight) ARRAY edited_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY
edited_text_top_terms, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY free_text_top_terms,
VARCHAR ARRAY descendant_en_ids, VARCHAR ARRAY crawled_genres, VARCHAR ARRAY ancestor_en_ids, VARCHAR
ARRAY shared_members, VARCHAR ARRAY members, VARCHAR ARRAY crawled_similar_en_ids, VARCHAR ARRAY styles,
VARCHAR ARRAY tags, BOOLEAN ambiguous, BOOLEAN kids_music, VARCHAR ARRAY musicbrainz_ids) ARRAY echo_nest_artists,
RecordType(VARCHAR id, RecordType(VARCHAR id, DOUBLE score, RecordType(VARCHAR field, RecordType(VARCHAR
value, DOUBLE query_boost) ARRAY matched_values) ARRAY explain_info, BOOLEAN curated) ARRAY similars)
artist_sims, RecordType(VARCHAR gid, VARCHAR version, DOUBLE ARRAY vector) vector, RecordType(BIGINT
value, VARCHAR gid, VARCHAR ARRAY domains) followers, RecordType(BIGINT value, VARCHAR gid, VARCHAR
country) ARRAY playlist_adds, RecordType(VARCHAR uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw,
DOUBLE popularity_normalized, DOUBLE percentile, BIGINT rank) popularity_global, RecordType(VARCHAR
uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw, DOUBLE popularity_normalized, DOUBLE percentile,
BIGINT rank) ARRAY popularity_regional, RecordType(VARCHAR gid, VARCHAR artist_name, RecordType(VARCHAR
bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR
attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY bios, RecordType(VARCHAR name, VARCHAR
url, VARCHAR gid) ARRAY ancestor_artists, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY descendant_artists,
RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY asserted_similars, RecordType(VARCHAR tag_text,
DOUBLE weight) ARRAY tags, VARCHAR ARRAY genres, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid)
ARRAY members, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY members_past, VARCHAR ARRAY
meanings, VARCHAR country, RecordType(VARCHAR voted_description_text, BIGINT votes_up, BIGINT votes_down)
ARRAY voted_descriptions, RecordType(BIGINT year_start, BIGINT year_stop) ARRAY years_active, VARCHAR
ARRAY amazon_urls, VARCHAR ARRAY itunes_urls, VARCHAR ARRAY lastfm_urls, VARCHAR ARRAY facebook_urls,
VARCHAR ARRAY urbandictionary_urls, VARCHAR ARRAY wikipedia_urls, VARCHAR ARRAY twitter_screennames,
VARCHAR ARRAY categories, RecordType(BOOLEAN childrens, BOOLEAN classical, BOOLEAN curated, BOOLEAN
deceptive, BOOLEAN generic, BOOLEAN inactive, BOOLEAN karaoke, BOOLEAN non_artist, BOOLEAN soundalike,
BOOLEAN unpreferred, BOOLEAN offensive, BOOLEAN do_not_recommend, BOOLEAN do_not_support, BOOLEAN pass_on_programming,
BOOLEAN deceased) category, RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_terms,
RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_text_terms, RecordType(VARCHAR
term_text, BIGINT frequency, DOUBLE weight) ARRAY free_text_terms, RecordType(VARCHAR term_text, BIGINT
frequency, DOUBLE weight) ARRAY display_terms, RecordType(VARCHAR key, VARCHAR value) ARRAY extra, RecordType(BOOLEAN
force_curated_sims, VARCHAR ARRAY curated_sims_uris, VARCHAR ARRAY blacklisted_sims_uris) sims_curation,
RecordType(VARCHAR bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version,
VARCHAR attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY display_bios, VARCHAR ARRAY
discogs_uri, VARCHAR ARRAY musicbrainz_uri, VARCHAR ARRAY rovi_music_uri, RecordType(VARCHAR bio_provider,
VARCHAR comment) ARRAY blocked_display_bio_providers, RecordType(VARCHAR rovi_image_id, BIGINT sort_order,
RecordType(VARCHAR size, VARCHAR url, BIGINT width, BIGINT height) ARRAY sizes) ARRAY portrait, VARCHAR
ARRAY hidden_portraits, VARCHAR primary_portrait, VARCHAR ARRAY imdb_urls, VARCHAR ARRAY instagram_screennames,
VARCHAR ARRAY myspace_urls, VARCHAR ARRAY tumblr_screennames, VARCHAR ARRAY youtube_urls) voted, RecordType(VARCHAR
gid, DOUBLE ARRAY acousticVector) acoustic_vector_2, RecordType(VARCHAR gid, RecordType(VARCHAR gid,
VARCHAR name) ARRAY genres, RecordType(VARCHAR gid, VARCHAR name) ARRAY extended_genres) genre, RecordType(DOUBLE
value, VARCHAR gid, VARCHAR region) ARRAY currency)";
rel6 [label="rel#6:BeamIOSourceRel\ntable=[beam,
endpoint1]\nrows=100.0, cost={100.0 cpu, 0.0 cpuRate }",color=blue,shape=box]
rel90 [label="rel#90:BeamEnumerableConverter\ninput=RelSubset#39\nrows=100.0,
cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }",color=blue,shape=box]
subset39
[label="rel#39:Subset#0.BEAM_LOGICAL"]
subset91 [label="rel#91:Subset#0.ENUMERABLE"]
}
subgraph
cluster1{
label="Set 1 RecordType(VARCHAR artist_gid, VARCHAR artist_uri, VARCHAR date, BIGINT id,
VARCHAR gid, VARCHAR name, BIGINT redirect, VARCHAR fuzzyname, BIGINT inserted, RecordType(VARCHAR en_id,
VARCHAR name, VARCHAR spotify_best_match_gid, VARCHAR ARRAY spotify_gids, VARCHAR ARRAY aliases, VARCHAR
ARRAY urls, RecordType(VARCHAR attribution_url, VARCHAR attribution, RecordType(VARCHAR name, VARCHAR
url, VARCHAR version) license, VARCHAR biography, VARCHAR biography_site, VARCHAR biography_url) ARRAY
biographies, RecordType(VARCHAR name, VARCHAR language) ARRAY display_aliases, RecordType(VARCHAR name,
BIGINT rank, VARCHAR spotify_gid) ARRAY genres, RecordType(VARCHAR name, BIGINT count, VARCHAR spotify_gid)
ARRAY inferred_genres, VARCHAR ARRAY meta_genres, VARCHAR ARRAY merge_names, RecordType(VARCHAR en_id,
DOUBLE score) ARRAY computed_similar_en_ids, RecordType(VARCHAR key, VARCHAR value) ARRAY url_map, VARCHAR
country, VARCHAR country_code, DOUBLE latitude, DOUBLE longitude, VARCHAR location, VARCHAR location_raw,
VARCHAR region, VARCHAR town, RecordType(BIGINT start, BIGINT stop) ARRAY years_active_ranges, RecordType(DOUBLE
score, BIGINT rank) discovery, RecordType(DOUBLE score, BIGINT rank) familiarity, RecordType(DOUBLE
score, BIGINT rank) hotttnesss, RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY display_top_terms,
RecordType(VARCHAR name, DOUBLE frequency, BIGINT weight) ARRAY edited_top_terms, RecordType(VARCHAR
name, DOUBLE frequency, BIGINT weight) ARRAY edited_text_top_terms, RecordType(VARCHAR name, DOUBLE
frequency, BIGINT weight) ARRAY free_text_top_terms, VARCHAR ARRAY descendant_en_ids, VARCHAR ARRAY
crawled_genres, VARCHAR ARRAY ancestor_en_ids, VARCHAR ARRAY shared_members, VARCHAR ARRAY members,
VARCHAR ARRAY crawled_similar_en_ids, VARCHAR ARRAY styles, VARCHAR ARRAY tags, BOOLEAN ambiguous, BOOLEAN
kids_music, VARCHAR ARRAY musicbrainz_ids) ARRAY echo_nest_artists, VARCHAR id10, RecordType(VARCHAR
id, DOUBLE score, RecordType(VARCHAR field, RecordType(VARCHAR value, DOUBLE query_boost) ARRAY matched_values)
ARRAY explain_info, BOOLEAN curated) ARRAY similars, VARCHAR gid12, VARCHAR version, DOUBLE ARRAY vector,
BIGINT value, VARCHAR gid16, VARCHAR ARRAY domains, RecordType(BIGINT value, VARCHAR gid, VARCHAR country)
ARRAY playlist_adds, VARCHAR uri, VARCHAR gid20, VARCHAR region, DOUBLE popularity_raw, DOUBLE popularity_normalized,
DOUBLE percentile, BIGINT rank, RecordType(VARCHAR uri, VARCHAR gid, VARCHAR region, DOUBLE popularity_raw,
DOUBLE popularity_normalized, DOUBLE percentile, BIGINT rank) ARRAY popularity_regional, VARCHAR gid27,
VARCHAR artist_name, RecordType(VARCHAR bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url,
VARCHAR license_version, VARCHAR attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY
bios, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY ancestor_artists, RecordType(VARCHAR
name, VARCHAR url, VARCHAR gid) ARRAY descendant_artists, RecordType(VARCHAR name, VARCHAR url, VARCHAR
gid) ARRAY asserted_similars, RecordType(VARCHAR tag_text, DOUBLE weight) ARRAY tags, VARCHAR ARRAY
genres, RecordType(VARCHAR name, VARCHAR url, VARCHAR gid) ARRAY members, RecordType(VARCHAR name, VARCHAR
url, VARCHAR gid) ARRAY members_past, VARCHAR ARRAY meanings, VARCHAR country, RecordType(VARCHAR voted_description_text,
BIGINT votes_up, BIGINT votes_down) ARRAY voted_descriptions, RecordType(BIGINT year_start, BIGINT year_stop)
ARRAY years_active, VARCHAR ARRAY amazon_urls, VARCHAR ARRAY itunes_urls, VARCHAR ARRAY lastfm_urls,
VARCHAR ARRAY facebook_urls, VARCHAR ARRAY urbandictionary_urls, VARCHAR ARRAY wikipedia_urls, VARCHAR
ARRAY twitter_screennames, VARCHAR ARRAY categories, BOOLEAN childrens, BOOLEAN classical, BOOLEAN curated,
BOOLEAN deceptive, BOOLEAN generic, BOOLEAN inactive, BOOLEAN karaoke, BOOLEAN non_artist, BOOLEAN soundalike,
BOOLEAN unpreferred, BOOLEAN offensive, BOOLEAN do_not_recommend, BOOLEAN do_not_support, BOOLEAN pass_on_programming,
BOOLEAN deceased, RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_terms,
RecordType(VARCHAR term_text, BIGINT frequency, DOUBLE weight) ARRAY edited_text_terms, RecordType(VARCHAR
term_text, BIGINT frequency, DOUBLE weight) ARRAY free_text_terms, RecordType(VARCHAR term_text, BIGINT
frequency, DOUBLE weight) ARRAY display_terms, RecordType(VARCHAR key, VARCHAR value) ARRAY extra, BOOLEAN
force_curated_sims, VARCHAR ARRAY curated_sims_uris, VARCHAR ARRAY blacklisted_sims_uris, RecordType(VARCHAR
bio_text, VARCHAR bio_url, VARCHAR license_text, VARCHAR license_url, VARCHAR license_version, VARCHAR
attribution_text, VARCHAR attribution_url, VARCHAR language) ARRAY display_bios, VARCHAR ARRAY discogs_uri,
VARCHAR ARRAY musicbrainz_uri, VARCHAR ARRAY rovi_music_uri, RecordType(VARCHAR bio_provider, VARCHAR
comment) ARRAY blocked_display_bio_providers, RecordType(VARCHAR rovi_image_id, BIGINT sort_order, RecordType(VARCHAR
size, VARCHAR url, BIGINT width, BIGINT height) ARRAY sizes) ARRAY portrait, VARCHAR ARRAY hidden_portraits,
VARCHAR primary_portrait, VARCHAR ARRAY imdb_urls, VARCHAR ARRAY instagram_screennames, VARCHAR ARRAY
myspace_urls, VARCHAR ARRAY tumblr_screennames, VARCHAR ARRAY youtube_urls, VARCHAR gid85, DOUBLE ARRAY
acousticVector, VARCHAR gid87, RecordType(VARCHAR gid, VARCHAR name) ARRAY genres88, RecordType(VARCHAR
gid, VARCHAR name) ARRAY extended_genres, RecordType(DOUBLE value, VARCHAR gid, VARCHAR region) ARRAY
currency)";
rel40 [label="rel#40:LogicalProject\ninput=RelSubset#39,artist_gid=$0,artist_uri=$1,date=$2,id=$3.id,gid=$3.gid,name=$3.name,redirect=$3.redirect,fuzzyname=$3.fuzzyname,inserted=$3.inserted,echo_nest_artists=$4,id10=$5.id,similars=$5.similars,gid12=$6.gid,version=$6.version,vector=$6.vector,value=$7.value,gid16=$7.gid,domains=$7.domains,playlist_adds=$8,uri=$9.uri,gid20=$9.gid,region=$9.region,popularity_raw=$9.popularity_raw,popularity_normalized=$9.popularity_normalized,percentile=$9.percentile,rank=$9.rank,popularity_regional=$10,gid27=$11.gid,artist_name=$11.artist_name,bios=$11.bios,ancestor_artists=$11.ancestor_artists,descendant_artists=$11.descendant_artists,asserted_similars=$11.asserted_similars,tags=$11.tags,genres=$11.genres,members=$11.members,members_past=$11.members_past,meanings=$11.meanings,country=$11.country,voted_descriptions=$11.voted_descriptions,years_active=$11.years_active,amazon_urls=$11.amazon_urls,itunes_urls=$11.itunes_urls,lastfm_urls=$11.lastfm_urls,facebook_urls=$11.facebook_urls,urbandictionary_urls=$11.urbandictionary_urls,wikipedia_urls=$11.wikipedia_urls,twitter_screennames=$11.twitter_screennames,categories=$11.categories,childrens=$11.category.childrens,classical=$11.category.classical,curated=$11.category.curated,deceptive=$11.category.deceptive,generic=$11.category.generic,inactive=$11.category.inactive,karaoke=$11.category.karaoke,non_artist=$11.category.non_artist,soundalike=$11.category.soundalike,unpreferred=$11.category.unpreferred,offensive=$11.category.offensive,do_not_recommend=$11.category.do_not_recommend,do_not_support=$11.category.do_not_support,pass_on_programming=$11.category.pass_on_programming,deceased=$11.category.deceased,edited_terms=$11.edited_terms,edited_text_terms=$11.edited_text_terms,free_text_terms=$11.free_text_terms,display_terms=$11.display_terms,extra=$11.extra,force_curated_sims=$11.sims_curation.force_curated_sims,curated_sims_uris=$11.sims_curation.curated_sims_uris,blacklisted_sims_uris=$11.sims_curation.blacklisted_sims_uris,display_bios=$11.display_bios,discogs_uri=$11.discogs_uri,musicbrainz_uri=$11.musicbrainz_uri,rovi_music_uri=$11.rovi_music_uri,blocked_display_bio_providers=$11.blocked_display_bio_providers,portrait=$11.portrait,hidden_portraits=$11.hidden_portraits,primary_portrait=$11.primary_portrait,imdb_urls=$11.imdb_urls,instagram_screennames=$11.instagram_screennames,myspace_urls=$11.myspace_urls,tumblr_screennames=$11.tumblr_screennames,youtube_urls=$11.youtube_urls,gid85=$12.gid,acousticVector=$12.acousticVector,gid87=$13.gid,genres88=$13.genres,extended_genres=$13.extended_genres,currency=$14\nrows=100.0,
cost={inf}",shape=box]
rel64 [label="rel#64:LogicalCalc\ninput=RelSubset#39,expr#0..14={inputs},expr#15=$t3.id,expr#16=$t3.gid,expr#17=$t3.name,expr#18=$t3.redirect,expr#19=$t3.fuzzyname,expr#20=$t3.inserted,expr#21=$t5.id,expr#22=$t5.similars,expr#23=$t6.gid,expr#24=$t6.version,expr#25=$t6.vector,expr#26=$t7.value,expr#27=$t7.gid,expr#28=$t7.domains,expr#29=$t9.uri,expr#30=$t9.gid,expr#31=$t9.region,expr#32=$t9.popularity_raw,expr#33=$t9.popularity_normalized,expr#34=$t9.percentile,expr#35=$t9.rank,expr#36=$t11.gid,expr#37=$t11.artist_name,expr#38=$t11.bios,expr#39=$t11.ancestor_artists,expr#40=$t11.descendant_artists,expr#41=$t11.asserted_similars,expr#42=$t11.tags,expr#43=$t11.genres,expr#44=$t11.members,expr#45=$t11.members_past,expr#46=$t11.meanings,expr#47=$t11.country,expr#48=$t11.voted_descriptions,expr#49=$t11.years_active,expr#50=$t11.amazon_urls,expr#51=$t11.itunes_urls,expr#52=$t11.lastfm_urls,expr#53=$t11.facebook_urls,expr#54=$t11.urbandictionary_urls,expr#55=$t11.wikipedia_urls,expr#56=$t11.twitter_screennames,expr#57=$t11.categories,expr#58=$t11.category,expr#59=$t58.childrens,expr#60=$t58.classical,expr#61=$t58.curated,expr#62=$t58.deceptive,expr#63=$t58.generic,expr#64=$t58.inactive,expr#65=$t58.karaoke,expr#66=$t58.non_artist,expr#67=$t58.soundalike,expr#68=$t58.unpreferred,expr#69=$t58.offensive,expr#70=$t58.do_not_recommend,expr#71=$t58.do_not_support,expr#72=$t58.pass_on_programming,expr#73=$t58.deceased,expr#74=$t11.edited_terms,expr#75=$t11.edited_text_terms,expr#76=$t11.free_text_terms,expr#77=$t11.display_terms,expr#78=$t11.extra,expr#79=$t11.sims_curation,expr#80=$t79.force_curated_sims,expr#81=$t79.curated_sims_uris,expr#82=$t79.blacklisted_sims_uris,expr#83=$t11.display_bios,expr#84=$t11.discogs_uri,expr#85=$t11.musicbrainz_uri,expr#86=$t11.rovi_music_uri,expr#87=$t11.blocked_display_bio_providers,expr#88=$t11.portrait,expr#89=$t11.hidden_portraits,expr#90=$t11.primary_portrait,expr#91=$t11.imdb_urls,expr#92=$t11.instagram_screennames,expr#93=$t11.myspace_urls,expr#94=$t11.tumblr_screennames,expr#95=$t11.youtube_urls,expr#96=$t12.gid,expr#97=$t12.acousticVector,expr#98=$t13.gid,expr#99=$t13.genres,expr#100=$t13.extended_genres,artist_gid=$t0,artist_uri=$t1,date=$t2,id=$t15,gid=$t16,name=$t17,redirect=$t18,fuzzyname=$t19,inserted=$t20,echo_nest_artists=$t4,id10=$t21,similars=$t22,gid12=$t23,version=$t24,vector=$t25,value=$t26,gid16=$t27,domains=$t28,playlist_adds=$t8,uri=$t29,gid20=$t30,region=$t31,popularity_raw=$t32,popularity_normalized=$t33,percentile=$t34,rank=$t35,popularity_regional=$t10,gid27=$t36,artist_name=$t37,bios=$t38,ancestor_artists=$t39,descendant_artists=$t40,asserted_similars=$t41,tags=$t42,genres=$t43,members=$t44,members_past=$t45,meanings=$t46,country=$t47,voted_descriptions=$t48,years_active=$t49,amazon_urls=$t50,itunes_urls=$t51,lastfm_urls=$t52,facebook_urls=$t53,urbandictionary_urls=$t54,wikipedia_urls=$t55,twitter_screennames=$t56,categories=$t57,childrens=$t59,classical=$t60,curated=$t61,deceptive=$t62,generic=$t63,inactive=$t64,karaoke=$t65,non_artist=$t66,soundalike=$t67,unpreferred=$t68,offensive=$t69,do_not_recommend=$t70,do_not_support=$t71,pass_on_programming=$t72,deceased=$t73,edited_terms=$t74,edited_text_terms=$t75,free_text_terms=$t76,display_terms=$t77,extra=$t78,force_curated_sims=$t80,curated_sims_uris=$t81,blacklisted_sims_uris=$t82,display_bios=$t83,discogs_uri=$t84,musicbrainz_uri=$t85,rovi_music_uri=$t86,blocked_display_bio_providers=$t87,portrait=$t88,hidden_portraits=$t89,primary_portrait=$t90,imdb_urls=$t91,instagram_screennames=$t92,myspace_urls=$t93,tumblr_screennames=$t94,youtube_urls=$t95,gid85=$t96,acousticVector=$t97,gid87=$t98,genres88=$t99,extended_genres=$t100,currency=$t14\nrows=100.0,
cost={inf}",shape=box]
rel65 [label="rel#65:BeamCalcRel\ninput=RelSubset#39,expr#0..14={inputs},expr#15=$t3.id,expr#16=$t3.gid,expr#17=$t3.name,expr#18=$t3.redirect,expr#19=$t3.fuzzyname,expr#20=$t3.inserted,expr#21=$t5.id,expr#22=$t5.similars,expr#23=$t6.gid,expr#24=$t6.version,expr#25=$t6.vector,expr#26=$t7.value,expr#27=$t7.gid,expr#28=$t7.domains,expr#29=$t9.uri,expr#30=$t9.gid,expr#31=$t9.region,expr#32=$t9.popularity_raw,expr#33=$t9.popularity_normalized,expr#34=$t9.percentile,expr#35=$t9.rank,expr#36=$t11.gid,expr#37=$t11.artist_name,expr#38=$t11.bios,expr#39=$t11.ancestor_artists,expr#40=$t11.descendant_artists,expr#41=$t11.asserted_similars,expr#42=$t11.tags,expr#43=$t11.genres,expr#44=$t11.members,expr#45=$t11.members_past,expr#46=$t11.meanings,expr#47=$t11.country,expr#48=$t11.voted_descriptions,expr#49=$t11.years_active,expr#50=$t11.amazon_urls,expr#51=$t11.itunes_urls,expr#52=$t11.lastfm_urls,expr#53=$t11.facebook_urls,expr#54=$t11.urbandictionary_urls,expr#55=$t11.wikipedia_urls,expr#56=$t11.twitter_screennames,expr#57=$t11.categories,expr#58=$t11.category,expr#59=$t58.childrens,expr#60=$t58.classical,expr#61=$t58.curated,expr#62=$t58.deceptive,expr#63=$t58.generic,expr#64=$t58.inactive,expr#65=$t58.karaoke,expr#66=$t58.non_artist,expr#67=$t58.soundalike,expr#68=$t58.unpreferred,expr#69=$t58.offensive,expr#70=$t58.do_not_recommend,expr#71=$t58.do_not_support,expr#72=$t58.pass_on_programming,expr#73=$t58.deceased,expr#74=$t11.edited_terms,expr#75=$t11.edited_text_terms,expr#76=$t11.free_text_terms,expr#77=$t11.display_terms,expr#78=$t11.extra,expr#79=$t11.sims_curation,expr#80=$t79.force_curated_sims,expr#81=$t79.curated_sims_uris,expr#82=$t79.blacklisted_sims_uris,expr#83=$t11.display_bios,expr#84=$t11.discogs_uri,expr#85=$t11.musicbrainz_uri,expr#86=$t11.rovi_music_uri,expr#87=$t11.blocked_display_bio_providers,expr#88=$t11.portrait,expr#89=$t11.hidden_portraits,expr#90=$t11.primary_portrait,expr#91=$t11.imdb_urls,expr#92=$t11.instagram_screennames,expr#93=$t11.myspace_urls,expr#94=$t11.tumblr_screennames,expr#95=$t11.youtube_urls,expr#96=$t12.gid,expr#97=$t12.acousticVector,expr#98=$t13.gid,expr#99=$t13.genres,expr#100=$t13.extended_genres,artist_gid=$t0,artist_uri=$t1,date=$t2,id=$t15,gid=$t16,name=$t17,redirect=$t18,fuzzyname=$t19,inserted=$t20,echo_nest_artists=$t4,id10=$t21,similars=$t22,gid12=$t23,version=$t24,vector=$t25,value=$t26,gid16=$t27,domains=$t28,playlist_adds=$t8,uri=$t29,gid20=$t30,region=$t31,popularity_raw=$t32,popularity_normalized=$t33,percentile=$t34,rank=$t35,popularity_regional=$t10,gid27=$t36,artist_name=$t37,bios=$t38,ancestor_artists=$t39,descendant_artists=$t40,asserted_similars=$t41,tags=$t42,genres=$t43,members=$t44,members_past=$t45,meanings=$t46,country=$t47,voted_descriptions=$t48,years_active=$t49,amazon_urls=$t50,itunes_urls=$t51,lastfm_urls=$t52,facebook_urls=$t53,urbandictionary_urls=$t54,wikipedia_urls=$t55,twitter_screennames=$t56,categories=$t57,childrens=$t59,classical=$t60,curated=$t61,deceptive=$t62,generic=$t63,inactive=$t64,karaoke=$t65,non_artist=$t66,soundalike=$t67,unpreferred=$t68,offensive=$t69,do_not_recommend=$t70,do_not_support=$t71,pass_on_programming=$t72,deceased=$t73,edited_terms=$t74,edited_text_terms=$t75,free_text_terms=$t76,display_terms=$t77,extra=$t78,force_curated_sims=$t80,curated_sims_uris=$t81,blacklisted_sims_uris=$t82,display_bios=$t83,discogs_uri=$t84,musicbrainz_uri=$t85,rovi_music_uri=$t86,blocked_display_bio_providers=$t87,portrait=$t88,hidden_portraits=$t89,primary_portrait=$t90,imdb_urls=$t91,instagram_screennames=$t92,myspace_urls=$t93,tumblr_screennames=$t94,youtube_urls=$t95,gid85=$t96,acousticVector=$t97,gid87=$t98,genres88=$t99,extended_genres=$t100,currency=$t14\nrows=100.0,
cost={200.0 cpu, 0.0 cpuRate }",color=blue,shape=box]
rel76 [label="rel#76:BeamEnumerableConverter\ninput=RelSubset#66\nrows=100.0,
cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }",color=blue,shape=box]
subset41
[label="rel#41:Subset#1.NONE"]
subset66 [label="rel#66:Subset#1.BEAM_LOGICAL"]
subset77 [label="rel#77:Subset#1.ENUMERABLE"]
}
subgraph
cluster2{
label="Set 2 RecordType(INTEGER ZERO)";
rel8 [label="rel#8:LogicalValues\ntype=RecordType(INTEGER
ZERO),tuples=[{ 0 }]\nrows=1.0, cost={inf}",shape=box]
rel75 [label="rel#75:BeamValuesRel\ntype=RecordType(INTEGER
ZERO),tuples=[{ 0 }]\nrows=1.0, cost={1.0 cpu, 0.0 cpuRate }",color=blue,shape=box]
rel88 [label="rel#88:BeamEnumerableConverter\ninput=RelSubset#73\nrows=1.0,
cost={1.7976931348623157E308 cpu, 1.7976931348623157E308 cpuRate }",color=blue,shape=box]
subset42
[label="rel#42:Subset#2.NONE"]
subset73 [label="rel#73:Subset#2.BEAM_LOGICAL"]
subset89 [label="rel#89:Subset#2.ENUMERABLE"]
}
subgraph
cluster3{
label="Set 3 RecordType(RecordType(VARCHAR gid, VARCHAR name) ARRAY genres)";
rel43
[label="rel#43:LogicalProject\ninput=RelSubset#42,genres=$cor0.genres_88\nrows=1.0, cost={inf}",shape=box]
rel72
[label="rel#72:LogicalCalc\ninput=RelSubset#42,expr#0={inputs},expr#1=$cor0,expr#2=$t1.genres_88,genres=$t

issue truncated because of its length - to see full context, see original Jira

Imported from Jira [BEAM-7963](https://issues.apache.org/jira/browse/BEAM-7963). Original Jira may contain additional context.
Reported by: snallapa.

Contributor guide

Open the contributing guide

Research direction

Start with the failing UNNEST query and trace conversion through CalciteQueryPlanner.java, with context from BeamSqlEnv.java and SqlTransform.java. The stack trace points to com.spotify.data.sql.SqlExecutorTest.testBigQueryRow2; reproduce the query with a large nested schema and verify it converts successfully without the CannotPlanException.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, sql
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.