JuliaDB.jl
JuliaDB.jl copied to clipboard
pushcol on distributed table
trafficstars
I'm trying to add a column to a distributed table, but the documentation doesn't seem to apply in this case:
momentum_noPhotoMuons = map(i->sqrt(i.px^2+i.py^2+i.pz^2), noPhotonMuons)
Dagger.DArray{Float64,1,JuliaDB.##58#60}(175723,)
Using a pushcol on this variable fails:
pushcol(noPhotonMuons, :momentum, momentum_noPhotoMuons)
MethodError: Dagger.distribute(::Dagger.DArray{Int64,1,JuliaDB.##58#60}, ::Dagger.DomainBlocks{1}) is ambiguous. Candidates:
distribute(source, rowgroups::AbstractArray) in IterableTables at /home/ilc/jstrube/.julia/v0.6/IterableTables/src/integrations/juliadb.jl:19
distribute(x::AbstractArray, dist) in Dagger at /home/ilc/jstrube/.julia/v0.6/Dagger/src/array/darray.jl:390
Possible fix, define
distribute(::AbstractArray, ::AbstractArray)
Stacktrace:
[1] macro expansion at /home/ilc/jstrube/.julia/v0.6/NamedTuples/src/NamedTuples.jl:289 [inlined]
[2] _map(::JuliaDB.##39#43, ::NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP_momentum{Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60}}) at /home/ilc/jstrube/.julia/v0.6/NamedTuples/src/NamedTuples.jl:276
[3] #table#37(::Void, ::Array{Any,1}, ::Function, ::Val{:distributed}, ::NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP_momentum{Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60}}) at /home/ilc/jstrube/.julia/v0.6/JuliaDB/src/table.jl:90
[4] (::IndexedTables.#kw##table)(::Array{Any,1}, ::IndexedTables.#table, ::Val{:distributed}, ::NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP_momentum{Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60}}) at ./<missing>:0
[5] #table#104(::Void, ::Array{Any,1}, ::Function, ::NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP_momentum{Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60}}) at /home/ilc/jstrube/.julia/v0.6/IndexedTables/src/table.jl:247
[6] (::IndexedTables.#kw##table)(::Array{Any,1}, ::IndexedTables.#table, ::NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP_momentum{Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Int64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60},Dagger.DArray{Float64,1,JuliaDB.##58#60}}) at ./<missing>:0
[7] #table#107(::Array{Symbol,1}, ::Array{Any,1}, ::Function, ::Dagger.DArray{Int64,1,JuliaDB.##58#60}, ::Vararg{AbstractArray,N} where N) at /home/ilc/jstrube/.julia/v0.6/IndexedTables/src/table.jl:259
[8] (::IndexedTables.#kw##table)(::Array{Any,1}, ::IndexedTables.#table, ::Dagger.DArray{Int64,1,JuliaDB.##58#60}, ::Dagger.DArray{Float64,1,JuliaDB.##58#60}, ::Dagger.DArray{Float64,1,JuliaDB.##58#60}, ::Vararg{AbstractArray,N} where N) at ./<missing>:0
[9] getindex(::IndexedTables.ColDict{JuliaDB.DNextTable{NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP{Int64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Int64,Float64,Int64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64},Tuple{Int64}}}) at /home/ilc/jstrube/.julia/v0.6/IndexedTables/src/table.jl:360
[10] pushcol(::JuliaDB.DNextTable{NamedTuples._NT_idx_moduleID_px_py_pz_lx_ly_lz_nPhot_estBG_flag_loglE_loglMu_loglPi_loglK_loglP_nPhotE_nPhotMu_nPhotPi_nPhotK_nPhotP{Int64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Int64,Float64,Int64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64},Tuple{Int64}}, ::Symbol, ::Vararg{Any,N} where N) at /home/ilc/jstrube/.julia/v0.6/IndexedTables/src/columns.jl:963
While this is no doubt a bug, I'd be happy to work around this for the time being. All I want is to make a histogram of the Dagger.DArray, but I don't understand the data type. Could you please suggest how I can histogram that array?