u/querylabio
-
0points
-
6points
Importing CSV into BigQuery (self.bigquery)
-
9points
Standard to Pipe SQL Convertor (self.bigquery)
-
1points
BigQuery pipe syntax is the best thing Google has shipped in years and it's barely talked about (self.dataengineering) [Blog]
querylabio
querylabio
Exactly. But a bytes-billed limit won’t protect you from a query that consumes a lot of slots without reading much data. It’s less of a concern with on-demand pricing, but on reservations, you will pay for that. And that’s why we’re also adding slot consumption limits to Querylab.
BTW, we have a simplified query execution plan that’s worth checking out.
Do you think it would be useful to give AI agents access to it so they could analyze a query after it fails and help figure out what went wrong?
querylabio
That’s fair, and thanks for the kind words about the UI!
Out of curiosity, would making Querylab open source make a difference for you? It’s something we’re considering.
querylabio
Fair question! If you want maximum privacy, use the desktop app.
Unlike many online tools, Querylab Desktop doesn’t send your BigQuery credentials to our servers. Google authentication happens locally, and credentials are stored in your OS keychain.
If you already use the Google Cloud CLI to authenticate, Querylab can use those credentials directly without copying them anywhere.
The web app is also designed to keep your data private: queries and results go directly between your browser and BigQuery, never through our servers. The only difference is that we store a refresh token so you don’t have to sign in every time.
So if you want the strongest privacy guarantees, go with the desktop app. Your BigQuery credentials stay on your machine.
The IDE is free, but we also offer an enterprise solution for companies that need additional controls and support.
Honestly, what would convince you? Open-source code, an independent security audit, or something else?
querylabio
I wouldn’t call it unusual, but we’re definitely going through a paradigm shift.
AI can already answer most simple, straightforward questions. Don’t you agree?
And we’re building an IDE for people who write queries, so that should answer your question too :)
querylabio
That's is true, unless the table you are scanning is clustered. Then BigQuery will scan only aa few clusters to get rows you needed.
Querylab automatically detects such scenarios and suggests adding limit where it makes sense. https://docs.querylab.io/writing-sql/limit-hints/
querylabio
I actually against flat rate - the best is hybrid flex slots and on demand where each of it makes more sense and cheaper. Works especially good after introducing fluid scaling!
querylabio
Usage of reservations (BigQuery editions, slots) is a way to cut you bill significantly, and what’s especially cool is that no query changes needed and you can estimate savings based on your historical usage. I wrote an article about this - https://blog.querylab.io/bigquery-on-demand-vs-reservations-two-models-two-bills-same-query-476c45e8eec1 - I hope it will be useful and I’m happy to answer any questions.
querylabio
Nice project!
Thats what we actually did in BigQuery IDE - https://docs.querylab.io/notebooks/
The same concept - pure SQL notebook, and since its BigQuery - we use anonymous result tables to allow cells reference other cells result
you can try it here without registration - leads to the notebook with tablesample experiment https://app.querylab.io/s/22f7a23d-bb39-497e-9a7d-70acef81967c?playground=true#k=YwsXP-QzIN75Czse3d1l246cZjc5JjiA2XW4w2XYxnw=
happy to share ideas
querylabio
++, we requested quota increase multiple times and all went smoothly (if there are no tech limitation)
querylabio
I so understand you! That’s total nonsense, and we decided to fix that.
https://medium.com/@querylabio/importing-data-into-bigquery-shouldnt-be-this-hard-74028ac3e824
querylabio
Done - now you can import Google Sheets directly (in "connected" and one-time way)
querylabio
Respect!
querylabio
How about that?
SELECT user_id, ANY_VALUE(status HAVING MAXtimestamp) AS last_status
FROM `my-project.dataset.table`
GROUP BY user_id
I just published an article about cool 5 hidden features in BQ that most people actually don't know about - https://blog.querylab.io/so-you-think-youre-a-bigquery-power-user-11e1e2334896 (that's not a clickbait - I bet you don't know at least about one)
querylabio
no, you cant
Caution: The budget doesn't automatically set a hard cap on spending. We recommend that you set your budget amount below your available funds, to account for delays in usage reporting.
querylabio
Regarding title - yes, indeed but that's actually looks like true - almost nobody knows!
Agree with null, they are tricky.
IS DISTINCT FROM - is another thing which helps with null aware comparisons, will return false if columns not equal or one of it is null, and true if equal or both null.
querylabio
Me too! And it's much more natural to AI.
But I think adoption a bit struggling without proper IDE support? I mean even in BQ console there are no auto completions for it.
querylabio
querylabio
Good catch!
SELECT 1 AS user_id, 100 AS revenue
UNION ALL BY NAME
SELECT 2 AS user_id
Yes - this works and producs null for revenue column. It looks like IDE should warn you when columns count mismatch. Thanks for pointing out!
querylabio
I think there’s nothing wrong with having some sugar to make life easier. But it's also about tooling - IDE should support inline resolution of ALL and displaying expilicit aggregation keys,best of both worlds, and should work with GROUP BY 1, 2, 3
querylabio
Two brothers EXCEPT and REPLACE
Thanks for you support!