New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a data source for Trino/Presto #1201
Conversation
🦋 Changeset detectedLatest commit: c931cdc The changes in this PR will be included in the next version bump. This PR includes changesets to release 9 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
✅ Deploy Preview for evidence-development-workspace ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Hi all! Let me know if there is anything else I can do here at this point. For now I would consider this as final from my side Best, |
Just thinking out loud, it may also be and idea to ask the Trino folks to be included in their list of supported clients once the datasource is supported by Evidence. Might attract some attention. |
Thanks for the contribution! 🙏🏼 I don't have any experience with I ran into issues connecting:
Are there other config options I should be passing in here? I feel like starburst should be requiring some kind of password, but adding my starburst login pw didn't change the above behaviour. Apologies if I'm being slow here! |
Hey, awesome! You need to set SSL to "true" in this case. Then things should work (you also need to provide user and password). I tried this against my company's Trino installation and that worked. My understanding is that HTTPS uses SSL/TLS so therefore requiring the user to set the SSL option for an HTTPS connection seems reasonable. It's also in line with how the client library underneath works. Additionally this allows for the freedom to run Trino in HTTPS mode but on a different port than 443. That being said, if you'd like me to silently set the SSL option for the user in case the port is 443, I could also do that. Let me know 😀 |
Hi @archiewood, I have made three changes now:
I have updated the PR title and description accordingly. |
No problem and you didn't. I was aware that Starburst is Trino. But I realized that it was silly to exclude Presto. So I added the engine option. This was not related to your comment at all.
Ah my bad, that's embarrassing. I had a bug in the |
Hmm, still not getting there my side.
FWIW you can set up a free starburst account in about 10 mins, which might help with testing |
my main sticking point is that I feel like trino should be authing me somehow. I can see if you have a local setup then maybe that's not an issue, but presumably any prod connection will need to be authed? So why does starburst not give me any auth params - all these things are very guessable: I'm guessing something to do with HTTPS/SSL/TLS solves this? I feel like I'm missing something? Maybe some clues
|
Let me check later this weekend. Right now when user and password are both provided, I set the |
Hi @archiewood ! I actually think the implementation is working as is right now. I signed up with Starburst and this is what I got: The password I provided is the regular password of my account. If I then go ahead and create a sample site in the example project I get: Finally, if I check the query history on Starburst I can see both, the query that Evidence uses to test the connection initially, as well as my sample query: |
Okay so having been through this process, I think it would be great to add a bit of docs help / explanation to go alongside this.
|
1. RE: Authentication MethodsCorrect, my implementation only supports password (i.e. basic) authentication. Two comments about this below. The limitation here is in the available Trino client library for Node/JS, namely presto-client-node. As this does currently only support password authentication, so does my connector. One could theoretically either implement a fully custom Trino client for Evidence, or extend presto-client-node to support more authentication methods. I am currently not willing/able to do this. Looking at the data consumer list provided by Starburst, you will find that quite a few of the available Trino clients actually only support the password based authentication types. So I think that Evidence would be in good company here. 2. RE: Should The Password Be Required?No. There are setups besides local development where you do not need a password. You can for instance self host Trino and give access via VPN. 3. RE: Starburst Specific DocumentationI have no clue how many companies use Starburst vs how many self host but it certainly can't hurt to include information about Starburst in the docs. The password is not necessarily the one you use to log in to the Starburst UI by the way. You could also create a dedicated service account and use that one for connecting: 4. Providing DocumentationLet me try to come up with something |
Done. Let me know if I should add/change something. |
Looks great - thanks for the contribution! |
Amazing! Thanks @maxstreese @archiewood 🎉 |
Awesome, thanks! In case anything turns out to be amiss just let me know. |
Description
This PR adds a data source for Trino/Presto.
Resolves #1095.
Adding Trino/Presto significantly increases the number of data sources supported by Evidence, as they function as data source aggregators.
Checklist
Screenshots
The new connection form with a valid connection
The new connection form with an invalid connection
A query running against the new data source