3 ms·
> A killer feature of siuba is that the same analysis code can be run on a local DataFrame, or a SQL source. Everyone thinks this is a good idea until they dis
by mangecoeur 6y ago
> A killer feature of siuba is that the same analysis code can be run on a local DataFrame, or a SQL source.
Everyone thinks this is a good idea until they discover that SQL is not actually very portable, and any attempt to make it so neutralizes whatever benefits your SQL DB has.
E.g. if you have a Postgres db, that has tons of excellent features that you actually want to use, sticking to a lowest-common-denominator flavor of SQL basically nukes all that.
- disgruntledphd2 6y agoI actually disagree, given that this is a dplyr port. dplyr has always had this feature, and I agree that it can make things difficult, but it can also provide a really, really useful abstraction over your SQL, especially if you need to change databases for whatever reason. In general, this actually looks like the best dplyr port I've seen, and may actually get me to do some exploratory analysis in Python.
- ellisv 6y agoI think this is a port of the dplyr syntax/verbs only. None of the dplyr C++ code is used, it's all syntactic sugar on top of Pandas. So any SQL translation is going to be similar to what Pandas does.
- closed 6y agosiuba does the SQL translation :). pandas is used for local data, since it does a lot of optimization in c++, similar to dplyr's low level code. Thanks for bringing this up--the docs could be clearer here
- disgruntledphd2 6y agoYeah, I probably used the wrong word, I didn't think it used the dplyr code, just that it looked much more like dplyr