Contribute to Open Source. Search issue labels to find the right project for you!

Propagate Schema Changes From Adaptive Schemas through Models


To see this bug in action:

mimir> load 'test/data/temperature.csv';
mimir> create lens repaired as select * from temperature with domain('temperature > -30');
mimir> feedback temperature 0 is real;
mimir> select * from repaired;

Basically what’s happening is that the model is being trained assuming that the TIME column is an int. Updating it to a real breaks the model, and a number of assumptions about it.

Fixing this properly would require re-generating the lens. I don’t think that’s a great idea, at least not until we have model training in the background. Instead, what we could do is try to detect when this is going to happen. Specifically, it would be useful to know when a piece of feedback is going to affect a view definition… and then we should ensure that the new view definition typechecks. Then… we should also have the ability to rewrite the view definition, mapping it to the old schema.

@willspoth : This strikes me as a great motivation for the Prism paper.

Updated 10/10/2017 13:35

Have CTExplainer leverage TupleBundler


As of right now, CTExplainer’s explainRow and explainCell methods rely on a hack to compute statistical metrics for values. Now that we have TupleBundler and compileForSamples() (at least in the TupleBundler branch), it would make sense to start leveraging this functionality to produce samples in the backend.

One quick caveat is that most databases will freak out with respect to schemas changing in the middle of a query, so this task is really dependant on #193 happening first.

Updated 21/09/2017 17:32 1 Comments

Fork me on GitHub