News for hackers. Stuff that matters.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by data_ders on Tuesday February 21, 2023 @12:13PM (#34883676)
wait… if importing malformed csvs gets automated that’s like half of a data professional’s job gone in a poof of smoke /s. jk -- great use case

so often w/ pandas I’d: 1. “yeet” the csv into a dataframe 2. use dataframe methods to massage the data to a “clean” state 3. push as much of the df methods into pd.read_csv() parameter options

it’s be great to iterate more quickly on the above loop. better yet — what if it would could auto-generate a letter to send to the folks from whom you got this data on how they could better output to csv to make ingestion simpler and easier for downstream users…. but maybe that letter would just be "don't use CSV!"

related to flat data formats, it obviously makes sense to start with CSV, but what about the future? If this tool became ubiquitous, how might a SWE or data professional's job change? What opportunities be created? As in:

1. CSV is ubiquitous but has no singularly well-adopted standard. 2. software and data engineers struggle with CSVs as a result of #1. 3. tool is created to reduce pain and friction. 4. profit? a new market? a new standard?

Last, but most personally interestingly, how much do you know about the Apache Arrow ecosystem and how it's mission might overlap with YoBulk's

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by boringg on Tuesday February 21, 2023 @12:36PM (#34884031)
"half of a data professional's job" ... you mean like 90%
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by textninja on Wednesday February 22, 2023 @01:52AM (#34892497)
It’s useful to make a distinction between what is one’s job and where one spends his time - that is, the theory and practice of job titles. Data cleaning is 0% of a Data Scientist’s job despite occupying 90% of their time. My hope is that AI can help bridge that gap.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Wednesday February 22, 2023 @02:47AM (#34892842)
yes textninja.YoBulk's vision is to automate the first mile data onboarding and cleaning through AI so that Data scientists are free from doing any mundane task of data cleaning.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by sgerenser on Tuesday February 21, 2023 @12:25PM (#34883864)
1. CSV is ubiquitous but has no singularly well-adopted standard. 2. software and data engineers struggle with CSVs as a result of #1. 3. tool is created to reduce pain and friction. 4. profit? a new market? a new standard?

The "revolutionary new tool" to replace CSVs was XML in the late 1990s.

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by nerdponx on Tuesday February 21, 2023 @12:39PM (#34884075)
* * *
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Tuesday February 21, 2023 @01:02PM (#34884420)
@nerdponx You are spot on..
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by aforwardslash on Tuesday February 21, 2023 @01:17PM (#34884657)
nitpick, I wouldn't place JSON in the middle (the lack of proper integers and precision problems is one of the issues). but other than that, spot on.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by refulgentis on Tuesday February 21, 2023 @01:55PM (#34885227)
That’s really interesting, I wonder if this simplifies down to “you want CSV with column typing and a typesafe CSV editor”, as you note, JSONs win is the lack of issues with typing, and CSV really isn’t complicated at all except for that property. JSON is just a row with keys that are column.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by nerdponx on Tuesday February 21, 2023 @02:17PM (#34885575)
I definitely want that! Parquet is great for data interchange, but it's not easily hand-editable. I wonder if there's an open niche in the software world for an Excel-like data entry and manipulation tool, but with stronger/stricter typing of cells and columns, and with direct export to and import from SQLite and Parquet.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by Fnoord on Tuesday February 21, 2023 @02:15PM (#34885547)
To solve the XML issues you described we got schemas and syntax highlighting.

I hate non-prettified JSON but its easy to prettify in any editor. So its a meh argument against JSON. But to solve the crap with the comma one needs a variant of JSON, and there's various of these...

One other neat feature of CSV is it can be imported in a very popular and powerful IDE, called... Excel.

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Tuesday February 21, 2023 @12:59PM (#34884380)
@sgerenser Yes CSV is everywhere..YoBulk is smartly positioning itself for the data donor/provider or customer..It is the end customer or data provider who bite the bullet and do the time consuming data cleaning.The customer should know about the errors, duplicates,PII data,inconsitency in data.Customer has to be properly guided to clean the data in best possible manner.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Tuesday February 21, 2023 @12:54PM (#34884302)
@data_ders We realized that more than 70% of business data is shared in CSV and Excel formats, and only a small percentage use API integrations for data exchange..So CSV is here to stay for sure..On the other side,data engine is a sub module inside YoBulk.We are trying to automate complete CSV importing workflow..mostly solving the CSV errors in a collaborative way with the data donor..Yobulk's USP is how we show the errors in human readable way.We have written wrapper on top of some open source data validation engines.Yes..I have used apache Arrow..we not competing with Apache Arrow..We are creating an alternative to flatfile.com
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by chaps on Tuesday February 21, 2023 @02:01PM (#34885346)
Man, been down this path for a long while. It gets tough! Flattening csvs with hierarchical headers (as in, headers that that apply a category to a second row of headers) are tough.

The ways csv can fail is just fucking nuts. Especially when they're half hand written, half automated, or where a failure is 20m rows in. Hard to have speed and strong checks simultaneously.

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Tuesday February 21, 2023 @03:13PM (#34886421)
Yes you are right..In YoBulk we flatten the CSV to a JSON schema store it in a document DB and do all the validations.Chunking the CSV and analysing the stream buffers for validation is giving us speed also.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by chaps on Tuesday February 21, 2023 @11:08PM (#34891518)
Have you been able to get something that might match a relational database? Auto-generation of a relational schema from a large dataset, or multiple datasets, is a deeply interesting idea.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by anonymouse008 on Wednesday February 22, 2023 @12:09AM (#34891902)
Would you really pay for this? I made one for a client analyzing some X million line csvs by sharding the records then computing across 500 lambda instances to arrive at a schema
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by chaps on Wednesday February 22, 2023 @12:21AM (#34891943)
Sounds lovely, but not something I would be able to do for reasons that I won't go into here. I would love to hear how you do it, though I'd understand if you can't or won't share.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by anonymouse008 on Wednesday February 22, 2023 @01:03PM (#34899876)
It was straight forward. Basically with the csv's I processed, there were a few sets of columns that would make natural tables, i.e. addresses that would create natural 'Street Name', 'City', 'Zip' Tables.

The first step was just sharding the csv's into 200 lines or so with a naming schema. Then storing those in S3.

Then the following was creating a manager Lambda that would send out the schema creation task to however many Lambda concurrent instances I could run, and hold the shards until instances freed up. So it allowed me to do the inefficient work in the individual Lambda instance.

The inefficient work was determining how many uniques were in the dataset with a threshold. As in if there were 50 or more uniques, then consider that column 'dead' to becoming a schema. However, if it were less, filter it up to the main manager thread.

Then the main manager thread would binary dispatch the results to combine the results into a main schema with another unique value threshold.

Overall it was a fun learning experience. The hardest part was removing the download time to get the full file into the lambda... I never got that right. The processing was dang fast, the latency to get the rows into the individual threads never got 'fast fast'

---

Good luck! Cheers!

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Wednesday February 22, 2023 @02:18PM (#34901106)
We thought the same solution for YoBulk but intentionally did not use S3 and lambda because all cloud infra cost and maintenance cost associated with this solution.You can find the details in our blog https://www.yobulk.dev/blog/Scaling%20a%20CSV%20importer
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by anonymouse008 on Friday February 24, 2023 @10:04AM (#34925146)
Ha! Sweet - well done to you and the team.

Hope I get back on CSV projects again soon to try your stuff out. Cheers

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Wednesday February 22, 2023 @01:05AM (#34892206)
Ohh Yes..You are spot on. It's there in our upcoming release.Stay tuned please.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by faebi on Tuesday February 21, 2023 @02:28PM (#34885745)
I still like the jsonl standard quite a lot. JSON is pretty much universal, yet it‘s better structured than csv. The ‚l‘ine in jsonl makes it easier parsable and independent from the remaining structure. Keys are duplicated hard but that‘s where gzip comes in.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by refulgentis on Tuesday February 21, 2023 @01:52PM (#34885158)
yeet is dispose of with haste, not “move, but zoomer” or “sloppily with haste”
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by chaps on Tuesday February 21, 2023 @01:56PM (#34885265)
Wot, no. It's throw hastily we with no care of what it splats into. Pretty sure it came from a video of someone throwing something (food or drink?) in a crowded highschool hallway, from within the hallway. It's chaotic, reckless energy in.. mostly.. harmless form.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by wrycoder on Tuesday February 21, 2023 @02:47PM (#34886023)
You’re both saying the same thing from my pov. But thanks for the translations!
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by chaps on Tuesday February 21, 2023 @03:02PM (#34886265)
Now that I'm not a phone, here's the video: https://www.youtube.com/watch?v=2Bjy5YQ5xPc
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by recursive on Tuesday February 21, 2023 @02:42PM (#34885950)
> CSV is ubiquitous but has no singularly well-adopted standard

RFC4180 exists regardless of adoption level. In a way, the simplicity of the spec causes the proliferation of grammars. No one thinks they can just yolo a PDF by hand in a text editor. Ok, maybe PDF is a bad example. But CSV (as specified in RFC4180) is so dead simple that people take shortcuts.

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by yosai on Tuesday February 21, 2023 @03:09PM (#34886341)
Yes you are absolutely right..We need a solution beyond standard as 80% businesses run on CSV..
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by ed_elliott_asc on Tuesday February 21, 2023 @03:37PM (#34886789)
99.99%?
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by groestl on Tuesday February 21, 2023 @05:15PM (#34888394)
And that's only the portion the businesses know about.
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by thedudeabides5 on Tuesday February 21, 2023 @05:25PM (#34888522)
working on it, this is a hard problem actually
Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by silent_cal on Tuesday February 21, 2023 @03:11PM (#34886376)
pd.yeet("/data/data_1.csv")

pd.yeet(lambda x: yeet(x))

pd.yeet_to_csv("/clean_data/cleaned_data_1.csv")

Re:Show HN: YoBulk – Open Source GPT powered CSV importer[Fl... by anothernewdude on Tuesday February 21, 2023 @05:55PM (#34888887)
You'd have to be insane to trust GPT that much. I wouldn't want anything hallucinated in my data.