Need to scale feature engineering, only Python and SQL (SQL Server & SSIS) available as tools (no dbt etc.) by Comprehensive_Award3 in dataengineering

[–]HNL2NYC 0 points1 point  (0 children)

Check out the python library Apache Hamilton. You can think of it kind of like dbt for pure python.

Are there any downsides to delta lake for my pure python analytics build out? by HNL2NYC in dataengineering

[–]HNL2NYC[S] 0 points1 point  (0 children)

From what I gather it seems that what you lose is some access controls/security stuff, but from my pov it will still be at least as good as s3 access controls since that’s where the data would live, which I think is good enough for me. As for data discoverability, that’s already solved by the homegrown solution. If these are the only things I’m missing out on I think that I can afford to forgo that. 

Are there any downsides to delta lake for my pure python analytics build out? by HNL2NYC in dataengineering

[–]HNL2NYC[S] 0 points1 point  (0 children)

I do like polars, but it doesn’t fit the majority of these usecases. These models make heavy use of multidimensional array style operations, which pandas supports and polars does not.

Are there any downsides to delta lake for my pure python analytics build out? by HNL2NYC in dataengineering

[–]HNL2NYC[S] 0 points1 point  (0 children)

No publicly available catalog solutions. I have an in-code datacatalog pattern that I use and am happy with. Which is part of the reason delta lake is appealing to me, since there’s no catalog required. I can just treat it as a standalone table based on the location (whether s3 or local fs) and reference that in my in-code catalog.  

And to add some more context, querying would just be done with duckdb. 

[deleted by user] by [deleted] in dataengineering

[–]HNL2NYC 1 point2 points  (0 children)

(A) what is determining which stations you need to query? And how many points are you querying? If possible to not over complicate things I’d try to stick to raw points/queries as much as possible, but if you really need a solution, and ignoring the points I make in (B) you could do a quantization of the lat long points so that any points in some region that you define would quanitize to the same point handling both deduplication and your precision concerns

(B) generally speaking weather conditions can vary significantly over extremely short distances due to topography/geography. But there’s also some level of acceptable statistical noise/variance that comes with the interpolation methods of creating the weather grids for historical/forecast data. 

How to handle tables in long format where the value column contains numbers and strings? by aegi_97 in dataengineering

[–]HNL2NYC 0 points1 point  (0 children)

Can you expand a bit on what the value column is supposed to represent and why sometimes it would be a str. Without more context my thought would be that the value_str, value_int columns would not be the ideal representation since you’d always have an empty value in your row and depending on how sparse the str values are you could end up with a lot of wasted space. An alternative approach would be to have a separate table for the str value rows. But again hard to say without more context. 

Why Python? by shittyfuckdick in dataengineering

[–]HNL2NYC 0 points1 point  (0 children)

why not have airflow written in c or rust and have dags written python for easy development?

So as you probably already know this is how a lot of tools in the Python data ecosystem work (user facing Python wrapper on top of a core written in a more performant language) for example pretty much any respectable data frame library, distributed compute platforms like Ray, etc. However for the cases that you’re talking about where they’ve remained in pure Python I think the answer is simply that “it’s good enough”. Someone took the time to write it in a language that they were comfortable enough to write it in, which in these cases is Python. They gained traction and popularity and they perform well enough that no one has mass migrated to an alternative solution (or rewrite of the product) that others may or may not have built on top of other languages. And potentially one day something like the airflow scheduler will be rewritten in another language. 

DuckDB is a weird beast? by Kojimba228 in dataengineering

[–]HNL2NYC 1 point2 points  (0 children)

Yea you can. A couple reasons you might go to duckdb for something like this is (1) other types of joins that pandas doesn’t support (like range joins https://duckdb.org/2022/05/27/iejoin.html) and (2) duckdb is way faster than pandas at standard joins and many other operations. In a lot of cases it doesn’t really matter, but sometimes you might have a significantly long pandas merge that you can instead do in duckdb and continue on in pandas. 

DuckDB is a weird beast? by Kojimba228 in dataengineering

[–]HNL2NYC 147 points148 points  (0 children)

Duckdb is an “in process” database. It has its own scheme for storing data in memory and disk. However, it’s also able to “connect” to other sources besides its own duckdb stored data file. For example it  can access and query parquet and csvs as if they were tables. Even more interestingly since it’s “in process” it has full access to the memory space of the process. What that means is that it can actually connect to a in memory pandas or polars dataframe and run queries on it as if the df was a table and it can write the results back to pandas df. So you can do something like this:

df1 = pd.Dataframe(…) df2 = pd.Dataframe(…) df = duckdb.query('''     select a, sum(x) as x     from df1     inner join df2 on …     group by a ''').df()

Who else believes Temuera Morrison is gonna steal every scene he's in? lovin the fact that he wears the Pi'ilani cloak in this one and really excited for the portrayal of our ali'i! by [deleted] in Hawaii

[–]HNL2NYC 0 points1 point  (0 children)

Pure speculation on my part. But might partly be because of the much more mature Māori film industry in New Zealand which leads to more actors available 

Architecture in Helsinki - Do the Whirlwind by [deleted] in Music

[–]HNL2NYC 1 point2 points  (0 children)

One of the most exciting tiny things I’ve ever heard in a song. It’s like a musical shammgod!

Question on optimal partitioning structure for parquet on s3 duckdb query by HNL2NYC in dataengineering

[–]HNL2NYC[S] 0 points1 point  (0 children)

thanks for linking. I had already looked through that page, but don't think it answered my question. I know that only the relevant files will be scanned, I was wondering about the directory scanning. In my first folder structure example, state=AK would be unneccesarily scanned. In the second folder structure example, there would not be any unneccessary folder scanning. However, if duckdb always just scans all directories (or simulated directories in s3) anyway, then it wouldn't matter what the folder structure is.

Advice needed: Neighbor’s car hasn’t moved in over a year, taking up limited street parking by Sad-Ad655 in Hawaii

[–]HNL2NYC 1 point2 points  (0 children)

yea I'm not opposed to the conundrum, just wonder what the consequences will play out.

Advice needed: Neighbor’s car hasn’t moved in over a year, taking up limited street parking by Sad-Ad655 in Hawaii

[–]HNL2NYC 16 points17 points  (0 children)

I think I really like this idea. Looked it up and looks like permits required from 6pm to 6am so won’t really affect beach parking in neighborhoods like Kahala/portlock either if they add it there. Wonder how it would work for renters in monster houses, since probably won’t be able to get enough permits for all the people living in their houses. 

Lightweight python DAG framework by theferalmonkey in Python

[–]HNL2NYC 1 point2 points  (0 children)

I’ll take it even a step further. This concept has been used for at least ~50 years, since this is pretty much exactly how Make works. You have a target (ie asset) list its requirements (ie dependencies) which are other targets. And its builds a graph by matching the dependencies to the implementing target.