At some point I’ll have an example you can go to, but for now let’s try the following description.
Suppose I have a table that has a DateTime column, a String column and two Float64 columns. I may, for example, need to get this into the form of an Matrix{Float32}. The String may represent categorical data, so it may have to be mapped to integer designations, which may then be converted to floats (in some cases this will be further transformed into a “one hot” representation, but that can usually be achieved fairly easily within the machine learning framework itself). The DateTime might have to be converted to Float32’s representing, for instance, the number of seconds past a reference time. After feeding this Matrix into some machine learning, I’ll get back a Matrix that I’ll need to append to the original dataset in some way.
This gives a rough idea of the most basic problem. Things get way more complicated when you start doing stuff with time series and require rank-3 tensors, but even this most basic case often requires a surprising amount of manual work.
Addendum By the way, I did a little messing around today, and Query was not being nearly as slow as I remember. As I’ve said in the past, because of my points 2 and 3 above, I haven’t had that much incentive to look carefully at performance issues in Query. If it some point I think it’s a good path forward for me, I’ll get a much better understanding of the circumstances in which it is slow. In general I have found the performance rather unpredictable, this may well be my fault.