Connect to AWS S3 with Tableau Connector | New in tableau 2023.2
The new S3 connector in 2023.2 is genuinely handy, but it's still beta — and the Cloud version is zippier than my Mac, bar that final mile.
- The S3 connector isn't installed by default, so you download the TACO file from the Tableau Exchange and drop it into the connectors folder of your Tableau Desktop or Prep repository, then restart Tableau.
- As a beta there's no auto-update mechanism, so you have to manually check the version on the Exchange against the one you're running, or have IT push the file in enterprise setups.
- The connector needs four things to authenticate: bucket region, bucket name, access key ID and secret access key; it reads data live from S3 and can pull every CSV in a bucket directory.
- It connects to CSV and Excel files but not hyper files, and metadata detection is weak, so everything comes through as text and geographic fields aren't reliably recognised.
- The Tableau Cloud experience felt faster and smoother than Mac Desktop, but feature parity isn't complete, with some map and null-handling behaviours not working the same way.
0:00Hey, it's Tim here. In today's video we're
0:01checking out the new Amazon S3 connector
0:04that's currently out in beta straight off
0:06the back of conference.
0:07As ever, let's get started.
0:09Okay, so we're going to try this in two
0:10places. First we're going to try it in
0:12desktop. You can skip ahead to the all
0:14cloud version where we try it in Tableau
0:16cloud.
0:17But for this one, I'm starting off in
0:18desktop because I just want to show you how
0:20to install the connector when working off
0:23Tableau desktop.
0:24So if you go to the tour service section,
0:26you can see there's a list here. This is
0:28normally the most recent connections, but
0:30you can see I've already used the S3
0:32connector.
0:33So it's available. But if it's not there,
0:34if you select more, you can go down to this
0:36list and you can see that I actually have
0:38it here.
0:39And if you're opening Tableau and you don't
0:41have the Amazon S3 connector, that's
0:43because it's not installed by default.
0:45To install it, what you want to do is you
0:46want to head to the Tableau exchange and
0:48this works for Tableau prep, Tableau server
0:50and Tableau desktop.
0:52You go to the connector section of the
0:53Tableau exchange. The Tableau exchange is
0:56just the marketplace for connectors,
0:58extensions and templates for Tableau.
1:00And then you can see the S3 connectors
1:02right here. You download it. And what this
1:04does is it downloads a file to your
1:06downloads folder or your desktop, wherever
1:08you tell it to go.
1:09And then once you've got that file, you're
1:10not done. What you need to do is you need
1:12to put it in one of these directories.
1:15It's super important you do this because
1:17Tableau looks in these folders to see
1:20additional connectors. And so you can see
1:22here it's pretty consistent.
1:23In fact, in desktop and prep, it's
1:24virtually the same place. So I actually
1:26have those locations open here on my
1:29computer.
1:30You can see my Tableau prep repository. If
1:32I go to the connectors, I have two TACO
1:33files. This is the file extension that adds
1:36additional connectors.
1:38So Google Analytics is one I've just done a
1:39video on just literally a couple of days
1:41ago.
1:42And then here you've got the S3 connector.
1:43And you notice that these have versions. I
1:45'll come back to that in one second.
1:47And the same is true with Tableau. So Table
1:49au desktop has the exact same folder
1:50structure.
1:51If you go to connectors, you can see I have
1:53the two files. And so once you've put it
1:55there, you open Tableau.
1:57If you've already got it open, close it,
1:59open it again, it will load these
2:00connectors and you'll see it in this list
2:03that loads up here along with the other
2:05data connectors, even though it lives on
2:06the Tableau exchange.
2:08So this is how you get this file on here.
2:12Now before I hop into the product, it's
2:13just worth noting that this is a beta.
2:14And obviously what that means is Tableau
2:15will keep updating this. I'm not aware of a
2:18mechanism that can update these TACO files
2:21as these get updated.
2:23So I think what you have to do is you
2:24bookmark this page and come back and you
2:25have to check the version you're running
2:27versus the version that's on here.
2:29I hope in the future Tableau does roll out
2:31some sort of update capability.
2:33So when you're updating desktop, are you
2:35doing any patches? It checks these
2:37connectors and downloads the latest version
2:39for you.
2:40But because you're typically putting a file
2:41on a very sensitive place, this is probably
2:43going to have to be a manual operation or
2:45there is a sort of command line
2:48installation mechanism for Tableau.
2:50And if you're working in enterprise, it
2:51should be possible for your IT admins to
2:53put a specific file in this directory.
2:56So have it done that way if that's going to
2:57be something that you're going to use
2:58across the organization.
3:00Now, once you've got everything set up, you
3:02can go ahead to Tableau prep or Tableau
3:04desktop. I'll show you Tableau prep briefly
3:05.
3:06If I go to the plus sign, you'll see that
3:08if I actually just type in S3, you see that
3:10it comes up right there.
3:11And if I click on that, it opens up the
3:12connector. I'm going to show you how to
3:14connect here in desktop because that's what
3:15most people are using.
3:17So we'll go ahead and click on the
3:18connector and I'll show you how to set this
3:20up.
3:21When it loads for the first time, it
3:22actually loads a web window.
3:24And you can see here it has a timer saying
3:26elapsed time, eight seconds executing query
3:29. And then for me, a few seconds later, a
3:31web window shows up.
3:33Now, when this was happening in those eight
3:34seconds, the first time I run this, I was
3:36actually clicking around thinking, hey,
3:38what's going on?
3:39And the simple act of clicking on Tableau
3:41actually sent that window to the background
3:44.
3:45So you might be looking at a screen like
3:46this. The time is going up and you're
3:48wondering why is this taking so long?
3:50Well, it's because it's behind the window.
3:52So just make sure you look out for that.
3:55That caught me out for about a couple of
3:56minutes and I realized, oh, wait, this is
3:57probably behind the window.
3:59Anyway, now we're here. It wants four
4:01things. The essentially the details around
4:04your Amazon S3 bucket.
4:05If you're not familiar with Amazon S3, it
4:07stands for S3 stands for simple storage
4:10system, essentially simple storage system.
4:12I hope it's simple storage system. If it's
4:14not correct me in the notes below.
4:15I used to be certified in AWS. I need to
4:17get back on that, obviously. But it wants
4:20four things.
4:21The bucket region, the bucket name. These
4:23are two pretty standard things to get if
4:24you're working with S3.
4:26Then it has access key ID and a secret
4:28access key. These are things to authent
4:30icate you so it knows that you have access
4:32to look at this.
4:33So you should have this already set up and
4:34you should know these details if you need
4:36to use this connector.
4:38If you don't know these details, find them
4:40first, then you can use this connector.
4:42So I'm going to set this up and then we're
4:43going to skip past this because I don't
4:44want to share my details so you can all go
4:47and use up my AWS credit.
4:49So let's go ahead and copy my details. OK,
4:52so I've got all my details entered.
4:53You simply go ahead and hit sign in. And
4:55what this should do is it should load up
4:57the next step.
4:58Now, the next step shows you what's in your
5:00bucket. Essentially, the first step is it
5:02scans your bucket.
5:03And you can see here it says it found 60
5:05files.
5:06You can actually dismiss that if you know
5:07what you're going to find. You can actually
5:09get rid of it just here on the top right.
5:11And all you have left is essentially
5:12directory structure.
5:14And the reason I've got a few files here is
5:15because I wanted to see what this connector
5:17could do, because you can upload virtually
5:19anything to S3.
5:20So I wanted to see, hey, can this S3
5:21connector connect to a range of different
5:23files?
5:24And so the two things I know it can connect
5:26to are CSV and Excel files.
5:29It can't connect to hypers. So this is not
5:30going to be a way to upload a hyper to S3
5:33and then have this connector read that
5:35hyper in a sort of consistent way.
5:37And that's not currently possible. You're
5:38still going to be better off publishing the
5:40hyper to Tableau Cloud or Tableau Server to
5:42use that in a more sort of flexible way.
5:45That said, I've had a few bugs opening
5:47Excel files. I actually haven't been able
5:49to get it to work.
5:50It might be that my version of Tableau is
5:52not actually supported on my version of Mac
5:54OS.
5:55I'm using Mac OS Ventura. 23.1 does not
5:58support that. 23.2 will support that. So
6:01hopefully this will be more stable.
6:03So I'll go ahead and I'm actually going to
6:04use a CSV file. This file I'm going to use
6:06is actually this one, London Fire Brigade
6:09incident data for the last three years.
6:12And so we'll go ahead and connect that. You
6:13'll see something really interesting with
6:15CSV files.
6:16When you do that, it goes and queries the
6:17whole bucket. And just like on desktop, you
6:20can see that it's not only just brought
6:21back the file we selected, but it's
6:23actually brought back all the CSV's in the
6:26whole directory, including the ones that
6:29were inside of this other directory.
6:31So if you have an S3 bucket where lots of
6:33people are putting files, maybe every
6:35single day there's a transaction or maybe
6:37every single day there is something going
6:38on, you should be able to use that set up
6:41to sort of bring them all in.
6:44I'm not sure you can tell this connector to
6:46continuously scan the entire bucket for
6:48everything and bring it all in.
6:50It doesn't seem to support some way of
6:52saying that. And I'd be interested to know
6:54if there maybe there's a secret sort of
6:55back end where you can query this with SQL.
6:58But you don't have that option here to
7:00create custom SQL that reads the S3 bucket.
7:03There's nothing like that. But you've just
7:05got a basic set up here.
7:07And you know what you could do is if you
7:08wanted to, you could actually select
7:10multiple files and you can go ahead and
7:12select new union.
7:14And if you drag that in, you then get the
7:15option to essentially specify what you want
7:17. And you can drag all these files in and it
7:19's capable of reading that as well.
7:21But for that, this is still in beta and I
7:23've not been able to sort of consistently
7:26get that to work. So I'm just going to show
7:28you one file type so we can keep this video
7:30nice and snappy.
7:31We'll bring in the London Fire Brigade
7:34incident data.
7:36And, you know, I'm constantly sort of
7:38having to battle me being on a Mac and also
7:41using a beta product to unstable things.
7:44And sometimes you experience sort of
7:45interface issues. Sometimes you experience
7:48bugs.
7:49Now, the thing to note about this file is
7:50180 megabytes. And don't forget, I'm using
7:53this on my desktop machine.
7:55So if we think about the network journey,
7:57my desktop machine is sending off a query
7:59to Amazon S3 in US East one.
8:01That's the region that my bucket is in. It
8:04's querying that data. And don't forget, it
8:06's doing it live. It's doing this live to
8:08the data set.
8:09So if you were to add, you know, update
8:12that file, I'm assuming it should be able
8:14to read that update in almost real time.
8:18And it's able to sort of go and access that
8:20data could take an extract.
8:22So it's local. But when we go ahead and
8:23connect to sheet one, we get everything
8:25that was in that file.
8:27Now, this is an annoying file because it's
8:29a CSV had no column headers.
8:31But I can reassure you that all the data is
8:33indeed here. And you can pretty much see
8:36that everything is working.
8:38There's a few. There's a lot of metadata
8:39missing from this. Everything is coming as
8:41text.
8:42It's clearly not. But you know, the way
8:44this was working, you'd hope that over time
8:48,
8:48this S3 connector gets a little bit smarter
8:50and can automatically identify some of
8:51these column types.
8:53There's definitely a column or two here
8:54that you'd hope Tableau would be able to
8:56identify.
8:57For example, you've got the cities. The
9:00London is a city here.
9:01You've got some towns here that it should
9:02be able to identify as geographical fields.
9:05But it might be that the way the S3
9:06connector is querying the file, it's just
9:08not able to deduce that metadata
9:10automatically.
9:11Like desktop does sometimes with CSPs. So
9:13that's something to watch out for.
9:15But this is in beta. This is not done. So
9:17that's still yet to come. And hopefully
9:18Tableau resolves that.
9:20So now here I am connected to a file live
9:22in S3. You can actually just look at this.
9:24That's going ahead. Let's go ahead and just
9:26do a basic chart. Just say this is working
9:28live.
9:29So we'll go ahead and get column 12. S
9:32column 12 is the postcode, the outcode.
9:35So we can go ahead and bring that in. And
9:37if we do that, we can then also go get the
9:40column.
9:41Sorry, the row count, which is just down
9:44here. And we can see how many rows for each
9:46data set.
9:47And that should give us an idea of the
9:49spread. So it seems that most of the Fire
9:51Brigade incidents were in Croydon.
9:54Again, I'm reading this in real time from
9:55Amazon S3 just here in Tableau Desktop. So
9:58this works really, really nicely.
10:00You can sort of get this to work and get it
10:02to work. In fact, let's just try and do
10:05something.
10:05Let's just try and say to Tableau that this
10:07has a geographic role. It's a postcode and
10:11it's probably going to complain.
10:13I'm not going to I'm not going to lie to
10:14you. I think it's going to complain because
10:16it doesn't have any country information,
10:18but it's actually been able to handle it.
10:19You can see it's actually been able to sort
10:20of generate that.
10:22So we can let's look at the locations. It's
10:26got a yeah, that is UK Kingdom.
10:30It doesn't know these four postcodes, so
10:32that's fine. You know, you could probably
10:35correct these.
10:37There's probably something wrong with these
10:38particular postcodes. I think it's probably
10:40just easy to and easy 3P.
10:45This this looks like a typo. So we could we
10:46could probably sort of do some data
10:48cleansing to these to make them work.
10:51W1A you don't normally in UK don't normally
10:54have an outcode that ends with a letter.
10:57Normally they end in a number. So these are
10:58definitely issues.
11:00And BF1 might just be another typo from a
11:01different sort of set up. So at least that
11:04we know is working.
11:06So we can go ahead, get a background. Let's
11:09see what we're going to do here. Let's get
11:10let's do streets.
11:13Let's do this one. This is a nice map. So
11:15it kind of looks a little bit more familiar
11:16.
11:17Give that a bit of time to load. And there
11:19we go. We can kind of start to see what's
11:21going on.
11:22And then what we can do to give us a sense
11:24of what the London Fire Brigade is facing,
11:28we can put that on size.
11:30We can make it red and we can just make it
11:33sort of stand out a little bit.
11:36Let's get my face out of the way here. Let
11:40's just make this a little bit larger and
11:42then bump this up a little bit.
11:45Yeah, there we go. So that's starting to
11:46look nice. Now we can start to see where
11:49the London Fire Brigade is getting called
11:50out in London.
11:51Very quick, nice and easy file in Amazon S3
11:52. Perfect.
11:54Now, Tableau also talk about this connector
11:56working in a cloud only set up.
11:58And so you've kind of seen the pace and the
12:00speed that we've had going here.
12:02Now we're going to do the exact same thing
12:03in Tableau Cloud.
12:05So give me one second to open up Tableau
12:07Cloud and we can set that up and we can
12:09almost start in exactly the same place with
12:11a new connector.
12:12Let's take a look. OK, we're here in Table
12:14au Cloud through the magic of production.
12:17We're going to go straight into this. Let's
12:19go ahead, select a new workbook in Tableau
12:21Cloud.
12:23For clarity, my Tableau Cloud instance is
12:2610 AX.
12:27I think this is the Arizona Amazon instance
12:29that Tableau Cloud runs in.
12:3210 AX is Arizona. My AWS region is US East.
12:38So although this might not be in the exact
12:40same region, it will definitely be
12:43traveling inside of what they call the AWS
12:45backbone network.
12:46So rather than traversing the Internet, it
12:48's going to be traversing the special stuff
12:51that exists between Amazon data centers.
12:54So we'll go ahead to the connectors tab, we
12:56'll select Amazon S3 and we'll go ahead and
12:59hop in.
13:00And you'll notice you get the same web
13:01window.
13:02And one thing I found super interesting
13:03with all the new connectors, it's
13:05definitely clear that Tableau is building
13:07sort of unified interfaces that work both
13:09on the web and inside of the desktop setup.
13:13So it feels to me like desktop is heading
13:15towards the web more and more to the point
13:17where I think what we'll have in the end is
13:19essentially a container which contains the
13:21web experience, but allows you to go
13:23offline.
13:24So let's go ahead and put the same
13:26information we need to put in here.
13:29So let's go ahead and fill this out.
13:32So we fill this out, we're going to hit
13:35sign in.
13:36And we get the same window. So we've got
13:37this window. I don't know if it's possible
13:39to resize. It doesn't seem like that's the
13:41case.
13:42If I do a browser resize, it doesn't help
13:44either. So I wish I could sort of resize
13:46this.
13:47It feels a bit constrained, but I'll get
13:48rid of that notification. We can get it all
13:50in one screen.
13:52Now you can see the exact same setup. And I
13:53have to say, this experience is already
13:55smoother because I had a Mac version that
13:57was all very weird and smooth.
13:59Because I'm using a browser and everything
14:01supported, it just works.
14:03So dare I say the web experience is
14:04actually slightly better than the Mac
14:07experience.
14:08And so if we go ahead and hit connect, what
14:11I'm hoping to get a sense of is the speed.
14:13And it's definitely faster. It's definitely
14:15zippier.
14:16And this is sort of the power of the cloud
14:17if you borrow sort of Tableau's terminology
14:20here, because everything is basically
14:22happening in the same place.
14:24There's virtually no real transfer of
14:25anything. And all I'm really doing in the
14:27browser is just getting a window into what
14:29's happening, which requires considerably
14:31less information to sort of operate.
14:33In fact, it probably takes longer for my
14:35click to register between my mouse and the
14:37server in America than it does to process
14:40the request and do all the stuff required.
14:43So let's go ahead and bring that into the
14:45view. It's doing exactly the same thing.
14:48You'll notice that Tableau web interface
14:50has a slightly different setup.
14:52But this is kind of nice that we're able to
14:53do all of this in the browser. We'll wait
14:55for this to load. I want to see if it's
14:56actually faster. I don't get a sense of it
14:59feeling faster.
15:01So it might just be that, hey, my internet
15:03connection and the one between the data
15:05centers are actually not that different.
15:08But it's hard to believe that.
15:09So what we'll do is we go ahead and get
15:10column 12. Now, can I change the geographic
15:13role to postcode? Yes, we can.
15:17And in this, we double clicked and we built
15:19a map. Now, the difference here is, let's
15:23set that as postcode.
15:25And what's not going on here is it's not
15:28because this Tableau cloud instance is in
15:31America.
15:32I think it's defaulting the geography here
15:37to a different country. And so what I can I
15:41can't really change it.
15:43I think it thinks these are zip codes
15:45rather than postcodes. But if I go to map,
15:50I'm not really able to specify the country.
15:52And I'm not also seeing the information I
15:54need to see down here. It is on the map.
15:57We can see here that it's all detailed out,
15:59but I'm just not seeing anything that I
16:01need to.
16:02So let's go down and see if we can force it
16:04to render something, putting the count of
16:07items on size.
16:09And yeah, we don't see sort of the null
16:10indicator here. You can just see that there
16:13are.
16:14It says this. It's weird. There's a legend,
16:16but there's just nothing to select. So I
16:19don't know what I'm doing wrong.
16:21It might be me. It might be the product.
16:23But just to sort of clarify that we are
16:25doing the right thing.
16:27We're going to column 12. We're getting all
16:29the outcodes. We're going to the count.
16:32We're getting all the columns. And what we
16:34're going to do is we're going to sort this.
16:36And this is essentially what I drew in
16:38desktop. In fact, I still have that
16:40available.
16:41Yes, we do. That's basically what I drew.
16:43And the difference is here.
16:46I'm not able to see this little message
16:47that says for unknown. Get this window to
16:50pop up and just that's just not what I'm
16:52getting here.
16:53So if I go to shoot one here, you'll see
16:55that, you know, it's just not loading that
16:58screen up now.
17:00I wonder this is one of the things you have
17:02to be sort of careful with if there is a
17:05way to get it to show.
17:07And I'm just not getting it. And one thing
17:10I will triple check.
17:12And this is something you do have to check.
17:14Let me just disable the ad blocker because
17:17the Tableau cloud setup is really smart.
17:20Even though the page refreshed, it just
17:21caught the session again so I can carry on
17:23as I am.
17:24And if I whatever reason, close this
17:25browser and came back, it would actually
17:28sort of save a draft for me and it would
17:30open up this instance.
17:31I don't have to worry about losing my work.
17:34But yeah, I can't get the exact same same
17:36thing drawn.
17:37But I am using the exact same data. So, you
17:39know, that's the sort of cloud experience
17:42sometimes.
17:43There's still a little bit of work to do in
17:44terms of feature parity. Things are getting
17:46there, but they're not quite there.
17:49And some of those small things you need to
17:50kind of get you across the finish line
17:51haven't quite made it over.
17:53But the connection experience was, I think,
17:55much faster. The interface was a little bit
17:58zippier.
17:59I just shame about that final mile. Right.
18:02So, yeah, that's pretty much it for the
18:04Amazon S3 connector.
18:05It's probably worth, you know, following
18:07this connector out of beta and then maybe
18:10maybe in a few months time once it's out of
18:11beta and it's got its final sort of feature
18:14set.
18:14And we've got some instructions on how it
18:15works. We can actually try and have a look
18:17at that.
18:18But I thought I'd do this video just now
18:19just to highlight to people that it's
18:20available. You should be using it because
18:22it's in beta.
18:24I would say probably not great for
18:25production. I've had issues with Excel
18:27files, for example.
18:28It might just be my Mac and the fact that
18:30that's not supported in Mac OS Ventura. But
18:33nonetheless, you should try it. Do your own
18:35testing and come to your own conclusion.
18:37Thanks for watching and I'll see you in the
18:38next one.
18:39Thanks for watching.
18:40You
18:50[ Silence ]
Have you heard about the beta version of the AWS s3 connector for Tableau? It now supports CSV and Excel files through the connector. If you’re interested, I go through the features, how it works, and how to install it.
You can find the connector here: https://exchange.tableau.com/products/868
Timestamps 0:00 Intro 0:09 How to Install the AWS s3 connector in Tableau 3:09 How to use the connector 8:30 A live connection in Desktop 12:15 A live Connection in Tableau Cloud
Join this channel to get access to perks: https://www.youtube.com/channel/UC7HYxRWmaNlJux-X7rNLZyw/join