RasgoQL
dbt-core
Our great sponsors
RasgoQL | dbt-core | |
---|---|---|
11 | 86 | |
267 | 8,881 | |
0.4% | 3.4% | |
0.0 | 9.7 | |
almost 2 years ago | 6 days ago | |
Jupyter Notebook | Python | |
GNU Affero General Public License v3.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RasgoQL
-
Dbt Vs python scripts
I built an open source package to bridge the gap between python and dbt, would love your feedback if you have a chance to check it out: https://github.com/rasgointelligence/RasgoQL
-
How to balance multiple time series data?
I’ve actually solved a similar problem several times in a variety of settings. I’ve had success with boosted trees and feature engineering on the sensor readings over time. I treat each reading as an observation and set the target to be the value I want to forecast (e.g. one hour ahead, the sum over the next day, the value at the same time the next day). There was a recent paper that compared boosted trees to deep learning techniques and found the boosted trees performed really well. Next, I perform feature engineering to aggregate the data up to the current time. These features will include the current value, lagged values over multiple observations for that sensor, more complicated features from moving statistics over different time scales, etc. I actually wrote a blog about creating these features using the open-source package RasgoQL and have similar types of features shared in the open-source repository here. I have also had success creating these sorts of historical features using the tsfresh package. Finally, when evaluating the forecast, use a time based split so earlier data is used to train the model and later data to evaluate the model.
-
RasgoQL - Open source data transformations in Python, without having to write SQL.
I created RasgoQL to give anyone a pandas-like syntax that you can use to quickly generate hundreds of lines of SQL that will run directly in your Snowflake or BigQuery data warehouse (with more data warehouse support coming soon). The best part? In one line of code, you can export this SQL to your dbt project so that it can run in production alongside other data pipelines.
- RasgoQL - Transform tables directly with Python, without writing SQL
- RasgoQL - Open data transformations in Python, no SQL required
-
[P] Open data transformations in Python, no SQL required
You can check it out here: https://github.com/rasgointelligence/RasgoQL
- [Project] Open data transformations in Python, no SQL required
- Open data transformations in Python, no SQL required
dbt-core
- Dbt
-
Relational is more than SQL
dbt integration was one of our major goals early on but we found that the interaction wasn't as straightforward as had hoped.
There is an open PR in the dbt repo: https://github.com/dbt-labs/dbt-core/pull/5982#issuecomment-...
I have some ideas about future directions in this space where I believe PRQL could really shine. I will only be able to write those down in a couple of hours. I think this could be a really exciting direction for the project to grow into if anyone would like to collaborate and contribute!
-
How to Level Up Beyond ETLs: From Query Optimization to Code Generation
> Could you share more specific details? Happy to look over / revise where needed.
Sure thing! I'd say first off, the solutions may look different for a small company/startup vs. a large enterprise. It can help if you explain the scale at which you are solving for.
On the enterprise side of things, they tend to buy solutions rather than build them in-house. Things like Informatica, Talend, etc. are common for large enterprises whose primary products are not data or software related. They just don't have the will, expertise, or the capital to invest in building and maintaining these solutions in-house so they just buy them off the shelf. On the surface, these are very expensive products, but even in the face of that it can still make sense for large enterprises in terms of the bottom line to buy rather than build.
For startups and smaller companies, have you looked at something like `dbt` (https://github.com/dbt-labs/dbt-core) ? I understand the desire to write some code, but often times there are already existing solutions for the problems you might be encountering.
ORM's should typically only exist on the consumer-side of the equation, if at all. A lot of business intelligence / business analysts are just going to use tools like Tableau and hook up to the data warehouse via a connector to visualize their data. You might have some consumers that are more sophisticated and may want to write some custom post-processing or aggregation code, and they could certainly use ORM's if they choose, but it isn't something you should enforce on them because it's a poor place to validate data since as mentioned there are different ways/tools to access the data and not all of them are going to go through your python SDK.
Indeed in a large enough company, you are going to have producers and consumers that are going to use different tools and programming languages, so it's a little bit presumptuous to write an SDK in python there.
Another thing to talk about, and this probably mostly applies to larger companies - have you looked at an architecture like a distributed data mesh (https://martinfowler.com/articles/data-mesh-principles.html)? This might be something to bring to the CTO more than try to push for yourself, but it can completely change the landscape of what you are doing.
> More broadly is the issue of the gap of what you think the role is, and what the role actually is when you join. There are definitely cases where this is accidental. The best way I can think of to close the gap is to maybe do a short-term contract, but may be challenging to do under time constraints etc.
Yeah this definitely sucks and it's not an enviable position to be in. I guess you have a choice to look for another job or try to stick it out with the company that did this to you. It's possible there is a geniune existential crisis for the company and a good reason why they did the bait-and-switch. Maybe it pays to stay, especially if you have equity in the company. On the other hand, it could also be the case that it is the result of questionable practices at the company. It's hard to make that call.
-
Python: Just Write SQL
I really dislike SQL, but recognize its importance for many organizations. I also understand that SQL is definitely testable, particularly if managed by environments such as DBT (https://github.com/dbt-labs/dbt-core). Those who arrived here with preference to python will note that dbt is largely implemented in python, adds Jinja macros and iterative forms to SQL, and adds code testing capabilities.
-
Transform Your Data Like a Pro With dbt (Data Build Tool)
3). Data Build Tool Repository.
-
What are your thoughts on dbt Cloud vs other managed dbt Core platforms?
dbt Cloud rightfully gets a lot of credit for creating dbt Core and for being the first managed dbt Core platform, but there are several entrants in the market; from those who just run dbt jobs like Fivetran to platforms that offer more like EL + T like Mozart Data and Datacoves which also has hosted VS Code editor for dbt development and Airflow.
- How do I build a docker image based on a Dockerfile on github?
-
Dbt vs. SqlMesh
Ahh I misunderstood, yes column level lineage is useful. DBT prefers leveraging macros which sort of breaks this pattern. I think the DBT way would be to better separate fields into upstream models and use table tracking https://github.com/dbt-labs/dbt-core/discussions/4458
-
DBT core v1.5 released
Here’s the PR, which includes a what/how/why: https://github.com/dbt-labs/dbt-core/issues/7158
-
DBT Install
I've attached a link to their documentation. DBT is becoming increasingly popular within the Data Engineering community with over 5k stars on github.
What are some alternatives?
pygwalker - PyGWalker: Turn your pandas dataframe into an interactive UI for visual analysis
airbyte - The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
fugue - A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.
metricflow - MetricFlow allows you to define, build, and maintain metrics in code.
Data-Science-For-Beginners - 10 Weeks, 20 Lessons, Data Science for All!
Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
tempo - API for manipulating time series on top of Apache Spark: lagged time values, rolling statistics (mean, avg, sum, count, etc), AS OF joins, downsampling, and interpolation
n8n - Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
ickle - DataFrame, analysis & manipulation library for tiny labeled datasets
citus - Distributed PostgreSQL as an extension
100-pandas-puzzles - 100 data puzzles for pandas, ranging from short and simple to super tricky (60% complete)
dagster - An orchestration platform for the development, production, and observation of data assets.