11 videos 📅 2024-05-20 09:00:00 America/Creston
2:05:45
2024-05-20 09:46:48
2:09
2024-05-20 12:30:32
2:41:18
2024-05-20 12:33:23
1:36:58
2024-05-21 08:00:54
5:24:36
2024-05-21 10:06:11
3:24
2024-05-22 06:36:04
9:25
2024-05-22 08:03:05
40:22
2024-05-22 08:14:12
2:49
2024-05-22 09:47:03
1:48:29
2024-05-22 09:50:24
1:57:28
2024-05-22 12:09:49

Visit the Apache Nifi GROUP 2 course recordings page

                WEBVTT

00:00:06.060 --> 00:00:09.980
I'll give you just a minute, but no rush.

00:00:13.580 --> 00:00:16.020
Let's see, are you able to type now?

00:00:16.260 --> 00:00:17.020
How's it looking now?

00:00:17.220 --> 00:00:17.800
Oh, there it is.

00:00:17.880 --> 00:00:22.780
Let me know if you're able to connect in and use your keyboard.

00:00:24.320 --> 00:00:31.120
While he's working on that, it looks like everyone else, I kind of followed along.

00:00:31.480 --> 00:00:37.880
Everyone is up and running on the 9.5 canvas, which is really great.

00:00:38.800 --> 00:00:47.940
Again, I was thinking about having it already installed, but I figured the install, the downloading of the zip,

00:00:48.160 --> 00:00:51.260
extracting the zip file, those types of things.

00:00:51.260 --> 00:00:58.580
I felt like we could walk through it, so it was good to see.

00:00:58.960 --> 00:01:04.180
I see some of you have already started to create processors and chain those together.

00:01:05.500 --> 00:01:06.620
That's amazing.

00:01:07.640 --> 00:01:12.520
We're already a little ahead of the curve, so we might get out of here a little early today.

00:01:14.260 --> 00:01:16.100
But definitely looking good.

00:01:17.040 --> 00:01:21.300
Well, Daris, if you can give me a thumbs up, just give me a shout when you're ready.

00:01:22.040 --> 00:01:23.040
Are you able to type yet?

00:01:23.220 --> 00:01:26.800
Right now, one of my coworkers is helping me troubleshoot.

00:01:27.380 --> 00:01:28.700
Okay, perfect, perfect.

00:01:28.780 --> 00:01:30.200
I'll give you just another minute.

00:01:45.260 --> 00:01:51.280
While we wait on that, did anyone have any issues installing NaPy?

00:01:51.420 --> 00:01:58.920
I know the zip was already downloaded, but you can go to the website, click download, and it will download.

00:01:58.920 --> 00:02:08.200
Did anybody have any issues getting everything up and running, going into the logs, finding your username and password?

00:02:08.440 --> 00:02:13.780
Again, I'd recommend you copy that username and password and put it in a separate document,

00:02:14.360 --> 00:02:18.540
just so you have it for later today and tomorrow and the next day.

00:02:18.540 --> 00:02:27.560
Yeah, I had an issue with a Java home environment variable issue, but I was able to power through that.

00:02:28.500 --> 00:02:39.920
Yeah, you're going to get that in the logs just because we're just using Java that is downloaded from Oracle's website.

00:02:40.840 --> 00:02:46.900
And so it gets installed, and it's a JRE, it's not even a JDK.

00:02:46.900 --> 00:02:55.860
And so it doesn't have Java home set properly and NaPy home set properly and all those.

00:02:56.720 --> 00:03:00.240
It should have complained about it, but still run.

00:03:11.200 --> 00:03:11.720
Okay, perfect.

00:03:11.720 --> 00:03:14.340
The Java home environment variable is not defined correctly.

00:03:14.440 --> 00:03:17.380
Instead, the path will be used to find the Java executable.

00:03:21.120 --> 00:03:29.160
If you are deploying this and building this into a reward environment, you would have a NaPy home, a Java home,

00:03:30.120 --> 00:03:30.960
those types of things.

00:03:31.140 --> 00:03:37.240
One thing to also keep in mind, NaPy supports Java 8 and Java 11.

00:03:37.900 --> 00:03:47.080
And so if you have a different version, like 13 or 9, it's not supported.

00:03:48.620 --> 00:03:56.720
But again, all of these instructions are on the administrator guide website.

00:03:59.340 --> 00:04:05.120
If you look at the administrator guide, it goes into how to start, stop, how to build,

00:04:06.140 --> 00:04:12.420
some of the port configuration that we talked about, zookeeper information,

00:04:13.260 --> 00:04:15.760
also some configuration best practices.

00:04:15.940 --> 00:04:26.060
And I usually include this link I send out as well because I've seen these best practices not followed.

00:04:27.020 --> 00:04:37.280
And NaPy likes to have a ton of open files and a ton of TCP sockets open.

00:04:37.800 --> 00:04:43.680
And so if you are running on a Linux machine and this is not configured properly,

00:04:44.720 --> 00:04:50.740
it will start spitting out some errors and some of your data flows will start having issues and things like that.

00:04:54.620 --> 00:04:57.160
Just some of those best practices.

00:04:58.300 --> 00:05:07.460
And again, it recommends anti-virus exclusion on these folders just because they're constantly running.

00:05:08.140 --> 00:05:13.700
And not only would anti-virus constantly running on that, it would take a ton of resources.

00:05:16.040 --> 00:05:17.840
NaPy isolates this pretty well.

00:05:18.800 --> 00:05:25.700
So the risk of not scanning those directories is very low.

00:05:26.000 --> 00:05:27.680
Now, there is processors.

00:05:27.760 --> 00:05:34.740
I know a couple of virus processors that when they ingest files,

00:05:35.260 --> 00:05:40.540
it will go through a Clam AV or similar processor to check for viruses.

00:05:41.500 --> 00:05:46.040
But yeah, all of that is in your administrator guide.

00:05:46.880 --> 00:05:52.760
If you are a sysadmin and you've set up Java homes and stuff like that previously,

00:05:53.760 --> 00:05:55.220
you'll see that as well.

00:05:55.560 --> 00:05:58.500
I am looking at mine. Let me pull.

00:05:59.340 --> 00:06:00.760
Well, there it is real quick.

00:06:02.220 --> 00:06:04.960
Actually, I can start your address.

00:06:05.100 --> 00:06:08.440
I can actually log into yours interactively as well and see if I can type.

00:06:08.680 --> 00:06:09.660
My typing works.

00:06:13.140 --> 00:06:19.040
Yes, I send a message to close the machine and try to open.

00:06:19.460 --> 00:06:22.600
Just connect to the other stuff with a different browser in general.

00:06:23.000 --> 00:06:24.080
Yeah, I'm thinking the same.

00:06:24.120 --> 00:06:27.300
Glad you're on the call for tech support, tech assistance.

00:06:34.780 --> 00:06:37.740
Give me another minute and see if you're able to get started.

00:06:48.020 --> 00:06:54.100
Give me one more minute and see if you need help.

00:06:54.380 --> 00:06:56.160
Just keep trying to get connected.

00:06:57.020 --> 00:07:01.540
If it doesn't work, I think it was suggested to shut it down

00:07:01.540 --> 00:07:07.960
and shut down the machine, close the browser, try a different browser

00:07:07.960 --> 00:07:13.100
and connect back in and start it up.

00:07:13.920 --> 00:07:15.500
Tom, are you there helping him?

00:07:15.600 --> 00:07:17.160
No, I'm teleworking.

00:07:18.100 --> 00:07:19.600
Oh, it looks like he's working now.

00:07:19.660 --> 00:07:20.160
Good deal.

00:07:20.300 --> 00:07:21.840
Now he'll join the call.

00:07:22.140 --> 00:07:25.260
I think he's good to go.

00:07:25.560 --> 00:07:27.360
Hopefully he's coming back on teams.

00:07:27.700 --> 00:07:30.040
Either way, we will get started.

00:07:31.740 --> 00:07:38.900
OK, so it looks like everyone else got their NIFI install up

00:07:38.900 --> 00:07:40.680
and running and working.

00:07:42.540 --> 00:07:48.000
Tonight or this afternoon when we are complete to exit NIFI,

00:07:48.620 --> 00:07:51.820
all we're going to do is bring this window up

00:07:51.820 --> 00:07:53.380
and we're going to hit Control C.

00:07:53.440 --> 00:07:55.160
We're not doing it here right now,

00:07:55.340 --> 00:07:58.640
but we're just going to hit Control C to exit the process

00:07:58.640 --> 00:07:59.960
and NIFI will go away.

00:08:01.340 --> 00:08:04.300
And then that way we're just, you know,

00:08:04.320 --> 00:08:06.380
if you don't have to, you can leave it running.

00:08:06.520 --> 00:08:09.040
These virtual machines are available to you

00:08:09.040 --> 00:08:11.780
for the next few days, you know, as much as you need them.

00:08:12.200 --> 00:08:13.680
So you don't want to shut it down

00:08:13.680 --> 00:08:16.320
and you just want to, you know, pause where you're at.

00:08:16.400 --> 00:08:19.200
You can just close your browser, come back tomorrow,

00:08:19.320 --> 00:08:22.240
connect and pick up right where you left off.

00:08:23.700 --> 00:08:27.060
So that being said, I am going to go ahead

00:08:27.060 --> 00:08:29.940
and finish building out my data flow.

00:08:31.140 --> 00:08:34.960
And you are more than welcome to follow along.

00:08:35.800 --> 00:08:41.120
I am, you know, it's going to be a lot of hands-on

00:08:41.120 --> 00:08:42.740
from this point forward.

00:08:43.280 --> 00:08:46.140
So, you know, feel free to, you know,

00:08:46.280 --> 00:08:47.480
build as much as you can.

00:08:48.200 --> 00:08:49.640
Some of the scenarios,

00:08:50.700 --> 00:08:53.040
I have a couple of scenarios for us to work through,

00:08:53.160 --> 00:08:57.340
you know, probably starting either later today

00:08:57.340 --> 00:08:58.640
or tomorrow morning.

00:08:59.600 --> 00:09:02.720
They will take a few hours to build,

00:09:02.740 --> 00:09:05.840
but you are going to be able to build a data flow

00:09:05.840 --> 00:09:10.240
that does ETL steps, controller steps,

00:09:10.520 --> 00:09:13.940
and those types of things from scratch.

00:09:14.840 --> 00:09:17.180
So, you know, that's always a good thing.

00:09:17.840 --> 00:09:18.780
But let's get started.

00:09:19.580 --> 00:09:21.600
So, you know, let's pick up where we were.

00:09:24.260 --> 00:09:25.080
Oh, gee.

00:09:26.040 --> 00:09:29.280
So, what I did is I, you know,

00:09:29.400 --> 00:09:34.940
I created a processor, a Git file processor.

00:09:35.500 --> 00:09:40.420
My goal is I want to take this data.

00:09:49.100 --> 00:09:50.980
This weather data zip file.

00:09:51.580 --> 00:09:53.620
Or I can take the other data.

00:09:53.620 --> 00:09:59.860
And I want to unzip this data.

00:10:00.200 --> 00:10:01.600
You know, I've already went through

00:10:01.600 --> 00:10:03.120
and extracted it manually,

00:10:03.120 --> 00:10:06.620
looked at the CSV, the JSON, stuff like that.

00:10:06.920 --> 00:10:09.360
But, you know, in this scenario,

00:10:10.040 --> 00:10:13.640
I am delivered a zip file to the file system,

00:10:13.640 --> 00:10:15.500
you know, every day.

00:10:15.800 --> 00:10:17.580
So, I need to...

00:10:19.600 --> 00:10:21.700
I just heard of a Teams notification.

00:10:21.700 --> 00:10:22.740
Oh, there it is.

00:10:22.860 --> 00:10:23.520
Good deal.

00:10:23.600 --> 00:10:24.200
Okay.

00:10:24.400 --> 00:10:26.020
And so in this scenario,

00:10:26.020 --> 00:10:28.580
I want to pick up, you know,

00:10:28.700 --> 00:10:30.960
some data from the file system.

00:10:31.440 --> 00:10:35.540
I want to identify the type of data it is

00:10:35.540 --> 00:10:37.780
because depending on that,

00:10:37.780 --> 00:10:41.400
you know, it's the way I might decompress this data.

00:10:42.460 --> 00:10:43.800
And so with that being said,

00:10:44.180 --> 00:10:48.660
I'm going to take my...

00:10:48.660 --> 00:10:50.580
I'm going to create a new folder.

00:10:53.280 --> 00:10:57.680
And all I'm going to do is call that weather data.

00:10:59.320 --> 00:11:02.340
And then I want to take the weather data zip file

00:11:02.340 --> 00:11:03.720
and I'll just copy it,

00:11:03.720 --> 00:11:08.080
move it into the weather data folder that I created.

00:11:08.560 --> 00:11:10.860
I'm doing this so, you know,

00:11:10.860 --> 00:11:13.080
we could actually pick it up from that directory,

00:11:13.240 --> 00:11:16.320
but then we have to start doing some file expressions

00:11:16.320 --> 00:11:18.740
or some regex and things like that.

00:11:19.140 --> 00:11:20.500
So to keep this easy,

00:11:20.920 --> 00:11:24.400
I want to work off of this directory in my git file

00:11:24.400 --> 00:11:27.740
and I am going to pick up this zip file.

00:11:28.100 --> 00:11:29.820
So I'm going to go back to my git file.

00:11:30.000 --> 00:11:31.780
I'm going to configure it.

00:11:33.860 --> 00:11:35.800
And I'm going to configure it

00:11:35.800 --> 00:11:39.920
to pick up everything in this weather data file.

00:11:41.500 --> 00:11:44.580
And we went into the configuration of this git file.

00:11:44.580 --> 00:11:50.040
So there is a file filter of regular expression.

00:11:50.440 --> 00:11:53.600
So if you are familiar with regex,

00:11:54.680 --> 00:11:56.980
especially Java regex,

00:11:57.680 --> 00:12:00.580
you can put in regex patterns to only pick up

00:12:01.380 --> 00:12:03.300
certain extensions, for instance.

00:12:03.960 --> 00:12:09.820
So we could do whatever dot star right now,

00:12:09.840 --> 00:12:11.520
but I can do whatever dot zip.

00:12:11.520 --> 00:12:16.440
Or if I know the name of that file coming in every day,

00:12:17.140 --> 00:12:20.980
I can put weather data dot zip if that was the name of it

00:12:20.980 --> 00:12:24.160
and that's the only file it's going to pick up.

00:12:24.300 --> 00:12:27.040
Right now I have it as a wild card

00:12:27.040 --> 00:12:30.000
where it will pick up any amount of data,

00:12:30.080 --> 00:12:35.820
any data that comes into this folder called weather data.

00:12:36.940 --> 00:12:40.740
And so right now I just have my one zip file there.

00:12:40.740 --> 00:12:43.840
What I want to do because I'm testing this

00:12:43.840 --> 00:12:46.320
is I want to keep that source file.

00:12:47.540 --> 00:12:52.200
Later on, if after I test this flow

00:12:52.200 --> 00:12:55.100
and things are working and that type of stuff,

00:12:55.900 --> 00:12:59.060
I may just have it where it doesn't keep the file.

00:12:59.940 --> 00:13:04.140
Because either I'm pushing this file to a database

00:13:04.140 --> 00:13:07.680
or a bigger file system or whatever.

00:13:08.780 --> 00:13:11.160
If you have that type of requirement,

00:13:11.300 --> 00:13:13.000
you may not want to keep the source file

00:13:13.000 --> 00:13:17.060
just to save on disk space and those types of things.

00:13:17.460 --> 00:13:21.560
But for testing purposes and because it's my initial flow

00:13:21.560 --> 00:13:24.180
I'm building, I'm going to go ahead and keep it.

00:13:24.960 --> 00:13:27.580
I'm really not messing with anything else.

00:13:29.300 --> 00:13:34.860
I have my input directory, my file filter.

00:13:35.540 --> 00:13:38.080
I'm not really worried about my batch size,

00:13:38.420 --> 00:13:41.420
the maximum number of files to pull in each iteration.

00:13:42.000 --> 00:13:43.540
Right now I have it set to 10.

00:13:43.680 --> 00:13:45.680
I've got one file so it really doesn't matter.

00:13:46.440 --> 00:13:50.060
But you can start to see some of the power

00:13:50.060 --> 00:13:53.360
and some of the capability in a single processor.

00:13:54.600 --> 00:13:57.220
And I can specify these things.

00:13:57.540 --> 00:14:00.000
I can build these things relatively easy.

00:14:00.480 --> 00:14:03.780
And again, I'm not opening anything code related

00:14:03.780 --> 00:14:08.340
like Visual Studio Code or Eclipse or any other IDE.

00:14:08.940 --> 00:14:11.340
I'm just using the non-fine canvas

00:14:11.340 --> 00:14:13.060
to build out my data flow.

00:14:15.320 --> 00:14:18.660
I don't want to ignore hidden files and folders.

00:14:18.780 --> 00:14:20.820
How often do I want to pull the folder,

00:14:21.400 --> 00:14:24.820
any kind of age or size.

00:14:25.680 --> 00:14:28.080
But honestly I think I got it the way I wanted.

00:14:31.860 --> 00:14:33.980
I got it the way I want it.

00:14:34.000 --> 00:14:36.140
I want to double check here.

00:14:37.000 --> 00:14:39.960
Yep, there's my weather data, file filter, batch size.

00:14:40.280 --> 00:14:41.540
Okay, everything that I want,

00:14:41.580 --> 00:14:44.100
I want to keep the resource file applied.

00:14:45.700 --> 00:14:51.160
So my goal with this is I want to pick up compressed files.

00:14:51.660 --> 00:14:53.860
Now, that could be zip files.

00:14:54.080 --> 00:14:56.120
That could be Gunzip.

00:14:56.120 --> 00:14:57.780
That could be TAR.

00:14:58.860 --> 00:15:03.220
There's numerous different compression type technologies.

00:15:04.340 --> 00:15:07.880
So we primarily use in our day-to-day life zip.

00:15:08.760 --> 00:15:12.540
But you may have others like it was mentioned with TAR,

00:15:12.720 --> 00:15:13.540
Gunzip, Rare.

00:15:14.100 --> 00:15:15.940
There's so many others out there.

00:15:16.840 --> 00:15:19.280
But in this scenario, you got zips

00:15:19.280 --> 00:15:20.660
and that's all I'm picking up.

00:15:20.660 --> 00:15:26.060
But this folder could have 100 different compressed files

00:15:26.840 --> 00:15:31.920
and all different compression technologies,

00:15:32.380 --> 00:15:36.120
different file names, different extensions, things like that.

00:15:36.580 --> 00:15:39.160
And so what I want to do is I want to pick that up.

00:15:39.960 --> 00:15:44.220
And because it could be anything but a zip file,

00:15:44.660 --> 00:15:47.360
I want to send it to another processor

00:15:47.360 --> 00:15:50.260
that identifies the MIME type.

00:15:50.720 --> 00:15:55.720
And so again, what I'm going to do is I'm going to go in here

00:15:55.720 --> 00:16:01.280
and just make this a lot easier to understand.

00:16:01.680 --> 00:16:04.420
So that way, if my colleagues are looking at this,

00:16:05.000 --> 00:16:08.420
they will easily can reference this

00:16:08.420 --> 00:16:09.760
and understand what's going on.

00:16:10.560 --> 00:16:12.340
Thomas, I think you got your hand up.

00:16:12.340 --> 00:16:12.600
Yes.

00:16:15.300 --> 00:16:19.440
What relationship did you use on the git file folder processor?

00:16:21.140 --> 00:16:22.260
The relationship?

00:16:22.300 --> 00:16:23.460
Try or terminate?

00:16:23.860 --> 00:16:23.900
Yeah.

00:16:24.140 --> 00:16:24.440
Yeah.

00:16:24.800 --> 00:16:24.820
No.

00:16:25.340 --> 00:16:26.360
Good question.

00:16:26.520 --> 00:16:27.960
So let's go back into the configure

00:16:27.960 --> 00:16:29.040
and let's go relationship.

00:16:31.080 --> 00:16:35.500
So this processor only has success.

00:16:37.940 --> 00:16:44.360
So if it can't pick it up, it can only pick up files it can read.

00:16:45.080 --> 00:16:48.160
And so if it can't read them, it doesn't know that they're there.

00:16:48.700 --> 00:16:52.500
Now, we will get into some additional relationships

00:16:53.040 --> 00:16:57.960
with other processors and where we send failures

00:16:57.960 --> 00:16:59.620
and things like that.

00:17:00.480 --> 00:17:04.760
But for this one, you only have success.

00:17:04.760 --> 00:17:09.520
So all files are routed to success.

00:17:09.820 --> 00:17:12.780
You don't need to do anything for terminate or retry.

00:17:13.300 --> 00:17:13.540
No.

00:17:14.560 --> 00:17:15.460
You don't need to.

00:17:15.840 --> 00:17:21.420
So the reason we have this here, previous NAFA,

00:17:21.460 --> 00:17:24.720
the NAFA that we built originally,

00:17:25.180 --> 00:17:32.080
you had to terminate or retry every single connection.

00:17:32.080 --> 00:17:38.580
So on a git file, I would have to create a new,

00:17:38.940 --> 00:17:44.040
push it to another processor that did terminate flow file.

00:17:44.620 --> 00:17:47.600
And that used to be a processor called terminate flow file.

00:17:47.920 --> 00:17:50.960
So what they did in some of the later versions

00:17:50.960 --> 00:17:54.520
in the last couple of years is have auto termination

00:17:54.520 --> 00:17:55.840
just because it makes sense.

00:17:56.020 --> 00:18:00.060
And it's less processors on the canvas.

00:18:00.060 --> 00:18:02.540
It just makes sense.

00:18:03.660 --> 00:18:06.320
But we'll get into more about the relationships

00:18:06.320 --> 00:18:08.440
because we're about to actually use those.

00:18:09.020 --> 00:18:13.520
But when you drag your arrow over to your next processor,

00:18:14.040 --> 00:18:16.440
it's only going to give you one option.

00:18:17.180 --> 00:18:22.160
So one of the things I like to do is log everything.

00:18:22.840 --> 00:18:29.320
So I am going to take, drag this over,

00:18:29.600 --> 00:18:34.540
and the only relationship I have is success, add, done.

00:18:34.660 --> 00:18:37.900
And then my log message, in this scenario,

00:18:39.520 --> 00:18:43.760
I'm going to have it automatically terminate.

00:18:45.140 --> 00:18:47.160
Oh, it actually is going to automatically terminate

00:18:48.220 --> 00:18:48.780
everything.

00:18:50.080 --> 00:18:50.720
Why?

00:18:51.980 --> 00:18:56.160
And that way, if there's any issue,

00:18:56.240 --> 00:18:58.420
it's just going to automatically terminate it

00:18:58.420 --> 00:18:59.060
right there.

00:18:59.460 --> 00:19:01.560
And the log message is another one of those

00:19:01.560 --> 00:19:02.780
that only has success.

00:19:03.860 --> 00:19:06.040
It's either going to log or not.

00:19:07.240 --> 00:19:11.900
And if you are not logging the information,

00:19:12.100 --> 00:19:14.320
you have a problem outside of NiFi

00:19:14.320 --> 00:19:18.040
just because that's this only job of this processor

00:19:18.040 --> 00:19:20.360
is to log whatever you send it.

00:19:20.620 --> 00:19:21.960
So what I'm going to do, actually,

00:19:22.460 --> 00:19:24.820
is because you asked that question,

00:19:25.340 --> 00:19:28.020
I'm going to have a log message.

00:19:28.520 --> 00:19:34.060
And that log message is going to log all of my success.

00:19:35.260 --> 00:19:36.620
So what I'm going to do.

00:19:47.320 --> 00:19:50.300
And you'll realize if you're working off your local machine,

00:19:50.300 --> 00:19:54.200
it's so much nicer not to deal with any of the latency.

00:19:54.960 --> 00:19:58.540
So I'm going to call this my success block.

00:19:59.340 --> 00:20:02.400
And when I have another relationship,

00:20:03.260 --> 00:20:05.680
it's either going to be success or failure,

00:20:05.680 --> 00:20:07.580
but I'm going to log it.

00:20:07.600 --> 00:20:10.240
So in the NiFi app log,

00:20:10.780 --> 00:20:14.960
you will see a success message for this log,

00:20:14.960 --> 00:20:15.800
for this file.

00:20:16.880 --> 00:20:17.720
And let me see.

00:20:17.820 --> 00:20:20.520
Let me figure this.

00:20:21.600 --> 00:20:22.680
All right.

00:20:23.400 --> 00:20:24.740
I want to change the color.

00:20:26.340 --> 00:20:27.880
Let's give it a green.

00:20:31.460 --> 00:20:32.560
Green of some sort.

00:20:32.560 --> 00:20:35.840
All right.

00:20:36.320 --> 00:20:40.440
I mean, I wanted to ask because you identified the file

00:20:40.440 --> 00:20:42.660
and the log message, I get a relationship success.

00:20:42.860 --> 00:20:44.900
Is it invalid because relationship success

00:20:44.900 --> 00:20:46.340
is not connected to any component,

00:20:46.360 --> 00:20:47.620
and it's not auto-terminated?

00:20:48.680 --> 00:20:49.120
Yeah.

00:20:49.220 --> 00:20:51.000
But it doesn't look like yours says that.

00:20:52.640 --> 00:20:53.040
OK.

00:20:53.100 --> 00:20:54.980
Just a second, and then we will.

00:20:55.340 --> 00:20:56.180
All right.

00:20:56.960 --> 00:20:58.620
I'll log through this, and Tom,

00:20:58.700 --> 00:20:59.940
I'll take a look at yours as well.

00:20:59.940 --> 00:21:02.160
So I have my Git file,

00:21:02.880 --> 00:21:06.660
and again, the only relationship on that one is success.

00:21:06.720 --> 00:21:08.000
There is no failure.

00:21:08.640 --> 00:21:13.540
So I'm sending the success to the identify mine type

00:21:13.540 --> 00:21:15.840
because in this scenario,

00:21:16.000 --> 00:21:20.980
I want to understand what type of compression is being used

00:21:20.980 --> 00:21:24.320
so I know how to decompress it.

00:21:24.900 --> 00:21:29.640
And so also I want to send all of my messages

00:21:29.640 --> 00:21:33.760
that are successful to a log message processor.

00:21:34.300 --> 00:21:35.940
And so this log message processor,

00:21:36.020 --> 00:21:38.920
all it's doing is logging all the messages.

00:21:41.700 --> 00:21:52.240
So I'm going to put logging all...

00:21:52.240 --> 00:21:54.560
logging all success messages.

00:21:55.140 --> 00:21:55.620
All right.

00:21:55.620 --> 00:21:58.440
So now my Git file has picked the file up.

00:21:58.440 --> 00:22:02.840
It is now sending it to log all success messages

00:22:02.840 --> 00:22:05.560
as well as identify mine type.

00:22:06.080 --> 00:22:10.440
I have now created a connection to the next processor.

00:22:11.280 --> 00:22:13.620
We can actually click on this connection,

00:22:14.080 --> 00:22:16.220
right-click and configure as well,

00:22:16.340 --> 00:22:18.140
and go to details.

00:22:18.360 --> 00:22:22.700
You can actually name this as well to make it more readable.

00:22:22.700 --> 00:22:38.860
You can say, you know, connection as well as prioritizers.

00:22:39.280 --> 00:22:43.520
So, you know, I can send files to this connection

00:22:43.520 --> 00:22:47.500
and instead of a FIFO first in, first out method,

00:22:47.500 --> 00:22:52.620
maybe I want to process, you know, a priority attribute

00:22:53.520 --> 00:22:57.000
or I want to do all the older files first

00:22:57.000 --> 00:22:59.260
before I do any of the newer files.

00:22:59.680 --> 00:23:02.960
Or I really just don't care and I want to send...

00:23:02.960 --> 00:23:05.780
The first one that comes in is the first one that goes out.

00:23:07.140 --> 00:23:09.720
So there is some configurations there.

00:23:10.660 --> 00:23:12.700
You can configure this.

00:23:13.160 --> 00:23:17.060
Most of the time I see a lot of people just leaving it as is.

00:23:17.060 --> 00:23:19.460
But it is there.

00:23:20.680 --> 00:23:20.960
Okay.

00:23:21.200 --> 00:23:22.800
So now I've picked the file up.

00:23:22.980 --> 00:23:25.780
I've built a connection to my next processor

00:23:25.780 --> 00:23:27.880
that is a success.

00:23:28.360 --> 00:23:31.760
And that processor is identify mine type.

00:23:32.240 --> 00:23:36.160
Well, that one, when I go to configure it,

00:23:37.440 --> 00:23:42.980
by looking at relationships, it's also a success as well.

00:23:43.180 --> 00:23:45.600
And we'll get into more of why that is.

00:23:45.600 --> 00:23:49.800
So, you know, if it identifies the mine type,

00:23:49.900 --> 00:23:53.700
it will send it, you know, where I want it to be sent.

00:23:53.980 --> 00:23:57.340
But if it doesn't, it's still identifying it.

00:23:57.680 --> 00:23:59.580
It just didn't identify it.

00:23:59.600 --> 00:24:01.900
So the processor itself still worked.

00:24:02.240 --> 00:24:04.040
Still done what it's supposed to do.

00:24:04.280 --> 00:24:07.260
It just couldn't identify unknown files.

00:24:07.720 --> 00:24:09.540
And I'll show you how we deal with that.

00:24:11.040 --> 00:24:13.760
So I've got my identify mine type.

00:24:14.420 --> 00:24:18.660
And that looks like it's going to be a zip file.

00:24:19.660 --> 00:24:21.620
You know, I'm expecting zip files.

00:24:21.880 --> 00:24:25.200
I'm expecting tar files, gun zip, rare files.

00:24:25.240 --> 00:24:30.040
So I'm going to need to decompress this file.

00:24:37.860 --> 00:24:38.380
Okay.

00:24:42.960 --> 00:24:46.040
You see we have a failure and a success now in our terminate.

00:24:47.120 --> 00:24:49.140
But let's go to the properties first.

00:24:50.520 --> 00:24:54.500
So instead of doing a compress, I want to decompress.

00:24:56.200 --> 00:25:00.020
I'm going to tell it to use the mine type attribute.

00:25:00.020 --> 00:25:06.400
So when it goes through, it is going to identify the mine type.

00:25:06.480 --> 00:25:09.140
And in this case, it's going to look at that file and say,

00:25:09.180 --> 00:25:10.880
hey, this is a zip file.

00:25:11.540 --> 00:25:14.100
So it's going to give that attribute.

00:25:14.220 --> 00:25:17.120
Remember, it's a key pair value.

00:25:17.540 --> 00:25:20.240
So it's going to use the mine type attribute.

00:25:20.720 --> 00:25:22.200
And it's going to say zip.

00:25:22.680 --> 00:25:27.480
And then if I want, I can update the file name.

00:25:27.480 --> 00:25:32.160
You know, I can deal with removing extensions, stuff like that.

00:25:32.200 --> 00:25:37.400
But for this scenario, I'm just saying, you know, false on the update file name.

00:25:40.900 --> 00:25:42.020
All right.

00:25:43.440 --> 00:25:44.760
So I need to drag my connection.

00:25:45.660 --> 00:25:50.280
I'm only going to identify mine type, you know, has that one success.

00:25:50.960 --> 00:25:54.840
There's only a success on the connection in this scenario.

00:25:54.840 --> 00:25:57.940
So, you know, name success.

00:25:58.380 --> 00:26:04.860
And so the success coming from identify mine type is going to compress content.

00:26:06.160 --> 00:26:11.840
You know, just for sake of use, I want to also want to log all success.

00:26:12.560 --> 00:26:21.020
And what I'm also going to do is I'm going to do a control C, control V.

00:26:22.140 --> 00:26:25.240
So I did a copy and paste on this processor.

00:26:26.420 --> 00:26:32.080
And I want to say control C, control V on my label.

00:26:34.860 --> 00:26:39.720
And I want to name this one failure.

00:26:47.980 --> 00:26:53.940
And I want to change the color of this one to red.

00:27:00.240 --> 00:27:01.120
All right.

00:27:01.120 --> 00:27:08.760
And then I want to change this processor to make sense because it's no longer log

00:27:08.760 --> 00:27:09.760
all success.

00:27:10.020 --> 00:27:11.940
It's now logging all failure.

00:27:14.720 --> 00:27:19.820
And you'll see why I put this in as well, you know, towards the end of this flow.

00:27:22.160 --> 00:27:29.700
For design, you know, following design principles and not thought and, you know,

00:27:30.120 --> 00:27:36.880
knowing what I know about building flows, I like to have a few log messages on my

00:27:36.880 --> 00:27:39.420
canvas while I'm building my flow files.

00:27:39.860 --> 00:27:43.960
The reason being is I usually actually don't even turn them on.

00:27:44.380 --> 00:27:51.560
But this is a catch-all method of seeing what is successful, what is failure,

00:27:51.880 --> 00:27:53.800
and what those look like.

00:27:54.120 --> 00:27:59.000
And we, you know, this exercise is to show you, you know, some of those

00:27:59.000 --> 00:28:02.760
additional, you know, menus and capabilities and stuff like that.

00:28:03.420 --> 00:28:04.180
One second.

00:28:04.960 --> 00:28:05.480
Okay.

00:28:05.480 --> 00:28:06.220
Sorry about that.

00:28:06.220 --> 00:28:08.420
My roofer was calling me.

00:28:10.440 --> 00:28:16.080
So what I like to do is leave those messages in there.

00:28:16.460 --> 00:28:22.180
And then as I'm building this flow, I can just send the, I have somewhere to

00:28:22.180 --> 00:28:26.340
send success, I have somewhere to send failure, you know, not only to the

00:28:26.340 --> 00:28:31.260
next processor but to a message itself just so I can see what is going on.

00:28:31.840 --> 00:28:35.460
So, anyway, so identify MIME type only has success.

00:28:35.800 --> 00:28:38.280
We brought it down to compress content.

00:28:38.720 --> 00:28:41.460
So what we've done is we've picked the zip file up.

00:28:41.880 --> 00:28:43.780
We're identifying that's a .zip.

00:28:44.620 --> 00:28:48.500
And then we're extracting, you know, then we're going to send it to

00:28:48.500 --> 00:28:51.260
this processor to extract that data.

00:28:52.080 --> 00:28:56.260
And so what we did is we went in, we configured this.

00:28:57.780 --> 00:29:03.120
We told it that we want to decompress the compression format.

00:29:03.220 --> 00:29:06.360
We can specify the compression format.

00:29:06.760 --> 00:29:13.680
We can put, you know, Gzip or zip or, you know, they're snappy.

00:29:13.900 --> 00:29:16.260
There's so many different compression formats.

00:29:16.780 --> 00:29:20.500
So, you know, I can specify that it's a zip.

00:29:21.400 --> 00:29:22.600
But who knows, right?

00:29:22.600 --> 00:29:28.100
Maybe I'm looking at a folder that is getting, you know, data from all over

00:29:28.100 --> 00:29:31.620
the place and different formats and different compressions and those

00:29:31.620 --> 00:29:32.420
types of things.

00:29:32.820 --> 00:29:38.720
And instead of building a flow for each format, right now I can just

00:29:38.720 --> 00:29:40.740
send it to identify the file type.

00:29:41.840 --> 00:29:46.300
And depending on that file type is how the next processor will

00:29:46.300 --> 00:29:47.680
decompress it.

00:29:48.160 --> 00:29:50.360
And so, you know, I'm going to set to decompress.

00:29:50.520 --> 00:29:51.540
I'm using the file type.

00:29:51.540 --> 00:29:54.660
Let me get a good name for this.

00:29:54.660 --> 00:29:59.080
So let's do decompress content.

00:30:02.140 --> 00:30:07.900
And we'll work on relationships next.

00:30:07.920 --> 00:30:13.180
So now I've got it where I'm sending it to my decompress.

00:30:13.840 --> 00:30:19.840
I'm expected a bunch of flow files, you know, from that

00:30:19.840 --> 00:30:20.880
one zip file.

00:30:21.360 --> 00:30:28.300
What I want to do is if it fails to decompress, because, you know,

00:30:28.360 --> 00:30:31.720
identify my type is just going to identify the file type.

00:30:32.120 --> 00:30:35.880
If it's unknown, that's a file type for identify my own type.

00:30:36.120 --> 00:30:38.700
So it doesn't have failure, but this one does.

00:30:39.100 --> 00:30:44.820
So if the file is corrupt or it doesn't know how to handle it or,

00:30:44.820 --> 00:30:49.080
you know, those types of things, it needs to know where to go.

00:30:49.080 --> 00:30:54.700
So we're going to send all of our failures to our general log

00:30:54.700 --> 00:30:56.300
message here.

00:31:05.200 --> 00:31:05.760
All right.

00:31:05.900 --> 00:31:09.340
So now that we've got that, where are we going to send the

00:31:09.340 --> 00:31:10.260
success, right?

00:31:10.480 --> 00:31:17.740
So I'm expected after this process to get the contents of

00:31:17.740 --> 00:31:19.000
that zip file.

00:31:20.080 --> 00:31:21.880
So what am I going to do with that?

00:31:25.740 --> 00:31:30.200
So let's do a put file.

00:31:34.640 --> 00:31:37.560
So now that I've unzipped it, I've got my files.

00:31:37.800 --> 00:31:39.960
I'm going to just put them back on the file system.

00:31:41.100 --> 00:31:58.940
So here we can actually do a put file, connect it, and if it

00:31:58.940 --> 00:32:02.500
successfully extracts it, we want to use the put file.

00:32:03.480 --> 00:32:07.980
And, you know, because I want to log all of my successes and

00:32:07.980 --> 00:32:11.320
failures, I want to add success as well.

00:32:11.600 --> 00:32:15.020
Now, put file is invalid, right?

00:32:15.020 --> 00:32:17.240
I've got the yellow exclamation mark.

00:32:17.440 --> 00:32:20.980
It's not in a stopped state and ready to go.

00:32:21.860 --> 00:32:27.280
It's because I need to define my relationships as well as the

00:32:27.280 --> 00:32:28.900
directory it's going in.

00:32:29.360 --> 00:32:36.040
So if I look at my properties, I need a directory to put this

00:32:36.040 --> 00:32:36.380
file.

00:32:36.380 --> 00:32:44.660
So what I want to do here is I want to go to my downloads.

00:32:44.660 --> 00:33:04.020
I'm going to create another folder called unzipped weather

00:33:04.020 --> 00:33:04.960
data.

00:33:14.660 --> 00:33:18.360
And I always go on the address bar because Windows likes to

00:33:18.360 --> 00:33:21.920
use its fancy names like this PC downloads.

00:33:22.580 --> 00:33:24.780
You click on the address bar, it gives you the full path.

00:33:25.840 --> 00:33:29.560
And then what I'm going to do on this is paste that path

00:33:29.560 --> 00:33:34.500
back in and everything should go into unzipped weather

00:33:34.500 --> 00:33:34.840
data.

00:33:35.660 --> 00:33:40.060
Now, I didn't put it back in my original weather data

00:33:40.060 --> 00:33:40.920
folder, right?

00:33:40.920 --> 00:33:46.260
Because if I did, it would take everything it decompressed

00:33:46.260 --> 00:33:49.380
and send it right back through the flow file.

00:33:49.940 --> 00:33:53.520
So, you know, I'll be writing this flow file and it would

00:33:53.520 --> 00:33:55.200
send it right back through.

00:33:55.960 --> 00:33:58.760
So what I like to do is definitely put it in a

00:33:58.760 --> 00:34:01.520
different folder because I don't want to have to

00:34:01.520 --> 00:34:05.260
reprocess those files over and over and over and create

00:34:05.260 --> 00:34:07.480
this infinite loop.

00:34:07.480 --> 00:34:11.560
So it's going in a different directory because I don't

00:34:11.560 --> 00:34:14.520
want to pick those up by this process group.

00:34:15.600 --> 00:34:17.300
So anyway, so I have to put file.

00:34:17.580 --> 00:34:21.620
Now I've entered the call on the directory.

00:34:21.960 --> 00:34:24.980
Now I need to terminate this.

00:34:25.580 --> 00:34:27.480
And I can go in here.

00:34:32.760 --> 00:34:34.860
I can configure this processor.

00:34:34.860 --> 00:34:41.040
And I can say auto terminate on failure or auto retry

00:34:41.040 --> 00:34:41.900
on failure.

00:34:42.500 --> 00:34:45.400
I can tell it to auto terminate on success or auto

00:34:45.400 --> 00:34:46.700
terminate on retry.

00:34:47.000 --> 00:34:50.960
Meaning if it writes it to file and it was successful,

00:34:51.500 --> 00:34:53.860
it's going to automatically terminate and be done.

00:34:55.080 --> 00:34:59.220
And, you know, I don't know because the file landed

00:34:59.220 --> 00:35:00.320
on the file system.

00:35:00.740 --> 00:35:02.860
But this is another one of those examples where,

00:35:03.180 --> 00:35:07.440
you know, I kind of want to see success, you know,

00:35:07.520 --> 00:35:09.360
instead of just trusting it's going to write to the

00:35:09.360 --> 00:35:09.920
file system.

00:35:10.280 --> 00:35:13.000
And then if there's a failure, you know, I want to

00:35:13.000 --> 00:35:13.800
see what that failure.

00:35:14.180 --> 00:35:19.360
And so what I like to do is put those, you know,

00:35:19.360 --> 00:35:24.040
the nice thing here as well is, you know, if I'm

00:35:24.040 --> 00:35:28.720
not mistaken, I should be able to auto terminate

00:35:28.720 --> 00:35:30.260
failure as well.

00:35:30.260 --> 00:35:33.680
No, we cannot because another relationship exists.

00:35:33.860 --> 00:35:38.660
So you can't auto terminate if you already have a

00:35:38.660 --> 00:35:39.720
relationship built.

00:35:40.160 --> 00:35:44.040
But you can have multiple failures, multiple successes.

00:35:44.600 --> 00:35:46.520
You know, like to get file from system.

00:35:46.960 --> 00:35:50.340
I had a success here and I have a success here.

00:35:50.940 --> 00:35:53.280
You know, I'm going to identify mine type.

00:35:53.320 --> 00:35:54.460
I have two successes.

00:35:54.940 --> 00:35:57.360
You know, same throughout the flow.

00:35:57.360 --> 00:36:01.620
So what this does is as I'm building this flow, it

00:36:01.620 --> 00:36:04.460
gives me more insight into what's going on.

00:36:04.800 --> 00:36:07.700
So if I need to make changes or if there's errors

00:36:07.700 --> 00:36:10.020
or something else like that, you know, I can make

00:36:10.020 --> 00:36:12.120
those changes before the flow actually gets

00:36:12.120 --> 00:36:12.700
deployed.

00:36:14.040 --> 00:36:19.380
So now I have this get file from system.

00:36:19.920 --> 00:36:22.760
Identify mine type, decompress and put file.

00:36:23.320 --> 00:36:25.360
Everything is in a stopped position.

00:36:26.260 --> 00:36:27.820
There's no yields.

00:36:28.420 --> 00:36:30.600
There's right now no errors.

00:36:31.180 --> 00:36:35.100
And so, you know, to me, this data flow looks

00:36:35.100 --> 00:36:35.740
good.

00:36:37.120 --> 00:36:40.900
So, NetFi is very, very quick.

00:36:41.280 --> 00:36:43.540
If we were to put a thousand zip files in that

00:36:43.540 --> 00:36:46.700
folder, it would pick it up before we would have

00:36:46.700 --> 00:36:47.900
time to stop it.

00:36:48.420 --> 00:36:51.200
Luckily, we only have one zip file and we

00:36:51.200 --> 00:36:52.360
kept the source.

00:36:52.960 --> 00:36:55.100
So what I like to do when I'm building a data

00:36:55.100 --> 00:36:59.800
flow is I like to kind of, you know, think

00:36:59.800 --> 00:37:01.560
through it logically a little bit.

00:37:01.640 --> 00:37:03.540
I like to sit down and I'm like, okay, well,

00:37:03.540 --> 00:37:04.580
I'm going to get a file.

00:37:04.880 --> 00:37:06.700
I need to decompress that file.

00:37:07.460 --> 00:37:09.520
I need, you know, for me to do that, I'm

00:37:09.520 --> 00:37:11.100
going to have to identify the mine type.

00:37:12.480 --> 00:37:14.220
You know, I'm going to build those things in.

00:37:14.280 --> 00:37:16.780
And then when I'm done with this file, I may

00:37:16.780 --> 00:37:19.640
send it to another processor that extracts the

00:37:19.640 --> 00:37:19.920
data.

00:37:20.380 --> 00:37:23.820
But for this use case, in this scenario, we

00:37:23.820 --> 00:37:25.620
are just going to write it back to file

00:37:25.620 --> 00:37:25.940
system.

00:37:26.560 --> 00:37:29.720
So what I like to do is kind of think

00:37:29.720 --> 00:37:33.860
through it and start building out my flow.

00:37:34.260 --> 00:37:36.820
I have my success messages.

00:37:36.940 --> 00:37:38.660
I have my failure messages.

00:37:39.220 --> 00:37:41.980
You know, I think I am pretty good to just

00:37:41.980 --> 00:37:42.880
let this go.

00:37:43.220 --> 00:37:46.440
But instead of turning everything on, what I

00:37:46.440 --> 00:37:48.580
like to do is I like to click on each

00:37:48.580 --> 00:37:50.940
individual processor, now that I've got the

00:37:50.940 --> 00:37:53.020
flow built, and say run once.

00:37:53.880 --> 00:37:57.300
So what's that going to do is go and pick

00:37:57.300 --> 00:37:58.520
up that file.

00:38:00.180 --> 00:38:03.940
And if my next processor is stopped, it's

00:38:03.940 --> 00:38:05.880
going to just queue up on this connection.

00:38:06.560 --> 00:38:08.760
So you can see I ran it one time.

00:38:12.360 --> 00:38:16.020
So I got one file in the connection.

00:38:16.300 --> 00:38:18.460
It's 2.19 kilobytes.

00:38:18.680 --> 00:38:21.160
And it's waiting to go to the next

00:38:21.160 --> 00:38:21.780
processor.

00:38:21.780 --> 00:38:24.820
Now that I've got that file, though, I can

00:38:24.820 --> 00:38:27.020
actually go and list my queue.

00:38:27.440 --> 00:38:30.060
Because all this data is automatically being

00:38:30.060 --> 00:38:30.740
queued up.

00:38:32.000 --> 00:38:33.600
So let me move this over.

00:38:35.480 --> 00:38:39.580
So with all the data queued up, I can

00:38:39.580 --> 00:38:42.060
now start looking at those attributes.

00:38:42.300 --> 00:38:45.280
I can start looking at data governance

00:38:45.280 --> 00:38:46.920
and provenance has happened.

00:38:47.440 --> 00:38:51.760
Because, you know, we have a file now in

00:38:51.760 --> 00:38:53.600
So what I like to do is I got that queued

00:38:53.600 --> 00:38:53.860
file.

00:38:54.080 --> 00:38:55.980
I will go and I will list the queue.

00:38:56.680 --> 00:39:00.660
It's going to tell me that I have this

00:39:00.660 --> 00:39:03.180
file name weatherdata.zip in the queue.

00:39:03.520 --> 00:39:04.860
Here's the file size.

00:39:04.880 --> 00:39:06.640
Here's how long it's been queued.

00:39:07.000 --> 00:39:08.280
The lineage duration.

00:39:08.600 --> 00:39:11.020
If it was penalized, I can actually

00:39:11.020 --> 00:39:13.680
download the content, which is the zip

00:39:13.680 --> 00:39:14.140
file.

00:39:14.620 --> 00:39:16.540
I can view the content.

00:39:17.340 --> 00:39:21.380
Or I can look at the provenance for it.

00:39:21.620 --> 00:39:23.780
So if I try to view the content, I'm

00:39:23.780 --> 00:39:26.040
going to complain that there is no

00:39:26.040 --> 00:39:28.140
viewer registered for this content type.

00:39:28.560 --> 00:39:30.520
This is what I was saying since content

00:39:30.520 --> 00:39:31.860
type application zip.

00:39:33.080 --> 00:39:34.380
So this is what I was saying.

00:39:34.560 --> 00:39:36.140
If it's a JSON document, which we'll

00:39:36.140 --> 00:39:39.200
get into, there's a viewer built in.

00:39:39.300 --> 00:39:40.960
So I can actually look at the JSON

00:39:40.960 --> 00:39:41.480
document.

00:39:41.620 --> 00:39:44.200
But for zip, there is no viewer here

00:39:44.200 --> 00:39:44.780
for zip.

00:39:44.780 --> 00:39:47.020
If there was, I would be able to look

00:39:47.020 --> 00:39:48.260
at that zip file.

00:39:49.700 --> 00:39:50.880
So let me close this.

00:39:53.200 --> 00:39:56.160
Also, if I go right here at the

00:39:56.160 --> 00:39:58.960
beginning, I can view the details of

00:39:58.960 --> 00:39:59.760
this file.

00:40:00.440 --> 00:40:02.660
So this is where I can start looking

00:40:02.660 --> 00:40:03.800
at my attributes.

00:40:03.860 --> 00:40:05.540
So we have our attributes and we have

00:40:05.540 --> 00:40:06.700
our flow files.

00:40:07.580 --> 00:40:09.600
From earlier, we went through this a

00:40:09.600 --> 00:40:10.880
little earlier on some of the

00:40:10.880 --> 00:40:11.460
terminology.

00:40:11.460 --> 00:40:16.760
But from the details, it gets assigned

00:40:16.760 --> 00:40:17.660
a unique ID.

00:40:18.380 --> 00:40:19.560
Everything that comes through the

00:40:19.560 --> 00:40:20.820
system gets a UUID.

00:40:22.960 --> 00:40:24.600
What is the file name?

00:40:25.080 --> 00:40:26.680
When it picked it up, it read the

00:40:26.680 --> 00:40:27.420
file name.

00:40:27.640 --> 00:40:28.980
Now that is an attribute.

00:40:29.440 --> 00:40:30.980
The reason you want that as an

00:40:30.980 --> 00:40:33.600
attribute is you may already have

00:40:33.600 --> 00:40:35.500
some rules set up that if it ends

00:40:35.500 --> 00:40:39.220
in .zip, it goes to processor X.

00:40:39.220 --> 00:40:42.020
If it ends in .json, it goes to

00:40:42.020 --> 00:40:43.060
processor Y.

00:40:43.540 --> 00:40:45.520
So you can actually read the

00:40:45.520 --> 00:40:48.380
attributes and route on attribute,

00:40:48.640 --> 00:40:50.740
which is a processor in our list.

00:40:50.820 --> 00:40:52.480
You should see route on attribute.

00:40:53.860 --> 00:40:55.080
The file size.

00:40:55.900 --> 00:40:57.440
If there was a queue position,

00:40:57.540 --> 00:40:58.780
which there wasn't.

00:40:59.500 --> 00:41:01.260
How long it's been queued.

00:41:01.780 --> 00:41:04.200
How long lineage has been the

00:41:04.200 --> 00:41:05.480
duration of the lineage.

00:41:07.640 --> 00:41:09.140
Some other identifiers.

00:41:09.560 --> 00:41:10.040
Offset.

00:41:10.320 --> 00:41:11.720
If you're looking at the Kafka

00:41:11.720 --> 00:41:12.660
type stuff.

00:41:13.320 --> 00:41:15.540
I can download the content,

00:41:15.720 --> 00:41:16.960
which would be a zip file.

00:41:17.320 --> 00:41:19.320
If I click that, I'm about to

00:41:19.320 --> 00:41:20.900
get a zip file downloaded.

00:41:21.560 --> 00:41:22.340
Whether it is.

00:41:23.280 --> 00:41:26.380
Then if I hit view, I can, you

00:41:26.380 --> 00:41:28.720
know, if I, again, if I have a,

00:41:29.320 --> 00:41:30.840
you know, if I have a viewer for

00:41:30.840 --> 00:41:35.100
this, I can, you know, if I

00:41:35.100 --> 00:41:36.840
have a viewer for this, I can view

00:41:36.840 --> 00:41:37.000
it.

00:41:38.280 --> 00:41:40.100
But the main thing I care about

00:41:40.100 --> 00:41:40.980
is these attributes.

00:41:42.240 --> 00:41:44.600
So, you know, git file is

00:41:44.600 --> 00:41:46.120
giving me these attributes.

00:41:46.320 --> 00:41:48.000
So git file said, hey, here's

00:41:48.000 --> 00:41:49.140
the absolute path.

00:41:49.860 --> 00:41:51.700
Here is the file creation

00:41:51.700 --> 00:41:52.100
time.

00:41:52.860 --> 00:41:55.040
Here is the file last access

00:41:55.040 --> 00:41:56.700
time, last modified time.

00:41:57.220 --> 00:41:58.820
You know, you may do some

00:41:58.820 --> 00:42:00.500
sorting and filtering of data

00:42:00.500 --> 00:42:01.680
based upon time.

00:42:02.900 --> 00:42:05.080
You know, if maybe who was

00:42:05.080 --> 00:42:06.780
the owner of the file, right?

00:42:06.940 --> 00:42:09.240
This is, you know, the owner

00:42:09.240 --> 00:42:10.580
as described in the Windows

00:42:10.580 --> 00:42:11.320
file system.

00:42:12.380 --> 00:42:13.980
What was the file name that I

00:42:13.980 --> 00:42:14.380
grabbed?

00:42:15.740 --> 00:42:17.980
It's a path that from when I

00:42:17.980 --> 00:42:19.100
picked it up, not the full

00:42:19.100 --> 00:42:20.740
path, the absolute, but just

00:42:20.740 --> 00:42:23.300
the path where, so if I, you

00:42:23.300 --> 00:42:25.020
know, had a recursive

00:42:25.020 --> 00:42:27.160
directory, right, it may have,

00:42:27.160 --> 00:42:29.140
you know, weather data two,

00:42:29.400 --> 00:42:31.620
like folder and then the

00:42:31.620 --> 00:42:32.020
file name.

00:42:32.540 --> 00:42:34.260
And then, of course, view ID

00:42:34.260 --> 00:42:36.200
that was assigned to this.

00:42:38.440 --> 00:42:38.980
Okay?

00:42:39.780 --> 00:42:41.120
So that is our connection.

00:42:41.540 --> 00:42:43.060
We have a file in the key.

00:42:43.220 --> 00:42:45.080
We ran this one time.

00:42:45.520 --> 00:42:47.120
And now we're trying to send

00:42:47.120 --> 00:42:48.960
it to the identify file

00:42:48.960 --> 00:42:50.220
MIME type, which is

00:42:50.220 --> 00:42:51.500
identifying the files.

00:42:52.100 --> 00:42:53.840
So let's run this just one

00:42:53.840 --> 00:42:54.600
time.

00:43:02.300 --> 00:43:04.640
I do a manual click to refresh.

00:43:05.020 --> 00:43:05.940
Like I said, you know, it's

00:43:05.940 --> 00:43:07.140
set up for five-minute

00:43:07.140 --> 00:43:08.940
refresh, but, you know, if

00:43:08.940 --> 00:43:09.820
you want to do it quicker,

00:43:09.960 --> 00:43:10.960
it's just easier to hit,

00:43:10.960 --> 00:43:12.100
right-click, refresh.

00:43:13.200 --> 00:43:17.600
And then you can also, if

00:43:18.200 --> 00:43:19.540
you did refresh the browser,

00:43:19.740 --> 00:43:20.520
you can do something like

00:43:20.520 --> 00:43:22.240
that as well, but right-click

00:43:22.240 --> 00:43:22.660
and refresh.

00:43:22.920 --> 00:43:25.000
But, anyways, identify MIME

00:43:25.000 --> 00:43:25.200
type.

00:43:25.860 --> 00:43:27.000
So I got the success.

00:43:27.280 --> 00:43:28.720
There's only success.

00:43:29.420 --> 00:43:30.980
Even if it doesn't identify

00:43:30.980 --> 00:43:34.320
it, it's still attempted to.

00:43:35.240 --> 00:43:37.760
And the relationships with this

00:43:37.760 --> 00:43:39.700
processor is success or

00:43:39.700 --> 00:43:39.940
nothing.

00:43:40.460 --> 00:43:43.240
And so that should also tell

00:43:43.240 --> 00:43:44.920
you, like, well, if it

00:43:44.920 --> 00:43:46.580
doesn't identify, if it's

00:43:46.580 --> 00:43:48.560
unknown, it's still going to

00:43:48.560 --> 00:43:49.460
go to success.

00:43:49.660 --> 00:43:50.880
It's just going to go to

00:43:50.880 --> 00:43:51.780
success is unknown.

00:43:52.440 --> 00:43:53.500
But let's look at the queue.

00:43:54.260 --> 00:43:55.700
So we can actually list this

00:43:55.700 --> 00:43:56.080
queue.

00:43:56.980 --> 00:43:58.300
And if we look at the

00:43:58.880 --> 00:44:00.620
attributes, we should have a

00:44:00.620 --> 00:44:01.480
new one.

00:44:02.960 --> 00:44:04.040
MIME extension.

00:44:05.780 --> 00:44:07.540
So it did identify the MIME

00:44:07.540 --> 00:44:07.900
type.

00:44:08.500 --> 00:44:10.140
And it identified it as a

00:44:10.140 --> 00:44:10.760
.zip.

00:44:11.500 --> 00:44:12.940
And the MIME type is, well,

00:44:12.940 --> 00:44:14.300
it identified the extension as

00:44:14.300 --> 00:44:16.580
.zip with the MIME type of

00:44:16.580 --> 00:44:18.200
application slash zip.

00:44:18.200 --> 00:44:23.000
If that was a different type of

00:44:23.000 --> 00:44:27.060
file, like, you know, like

00:44:27.060 --> 00:44:29.080
tar or gunzip, it would have

00:44:29.080 --> 00:44:31.480
recognized it as application

00:44:31.480 --> 00:44:35.800
slash gz or application slash

00:44:35.800 --> 00:44:36.220
tar.

00:44:37.080 --> 00:44:39.600
And so in this scenario, it

00:44:39.600 --> 00:44:41.320
is a zip file.

00:44:41.560 --> 00:44:43.820
So it identified it as an

00:44:43.820 --> 00:44:45.200
application slash zip.

00:44:46.220 --> 00:44:47.980
And now we have that

00:44:47.980 --> 00:44:48.300
attribute.

00:44:51.960 --> 00:44:55.340
So from here, right, I could

00:44:56.780 --> 00:44:59.120
say, well, I don't really want

00:44:59.120 --> 00:45:01.340
to decompress all my tar files.

00:45:01.780 --> 00:45:02.980
I want to send them somewhere

00:45:02.980 --> 00:45:03.420
else.

00:45:04.220 --> 00:45:05.820
So I can actually do a route

00:45:05.820 --> 00:45:07.140
on that attribute.

00:45:07.440 --> 00:45:08.060
Excuse me.

00:45:08.220 --> 00:45:09.460
I can do a route on an

00:45:09.980 --> 00:45:12.180
attribute and say, you know,

00:45:12.240 --> 00:45:13.760
something to the effect of, you

00:45:13.760 --> 00:45:15.680
know, send tar this way and

00:45:15.680 --> 00:45:17.420
zip to the decompress.

00:45:18.020 --> 00:45:20.060
But for in this scenario, I'm

00:45:20.060 --> 00:45:21.800
going to send it to success,

00:45:22.140 --> 00:45:23.500
and I'm going to let the

00:45:23.500 --> 00:45:26.020
decompressed content determine,

00:45:26.020 --> 00:45:28.120
you know, what type it is.

00:45:28.900 --> 00:45:32.000
So the MIME type detected it

00:45:32.000 --> 00:45:33.780
in my decompressed content.

00:45:34.340 --> 00:45:36.680
I did have my property set to

00:45:37.260 --> 00:45:38.940
use the MIME type attribute.

00:45:39.600 --> 00:45:42.240
So, you know, you saw the

00:45:42.240 --> 00:45:43.980
MIME.type attribute.

00:45:43.980 --> 00:45:46.060
So it's going to use that

00:45:46.060 --> 00:45:48.980
attribute to determine the

00:45:49.560 --> 00:45:51.200
decompression method.

00:45:52.080 --> 00:45:53.980
So this decompressed content

00:45:55.260 --> 00:45:58.620
is a Java application, right?

00:45:59.360 --> 00:46:01.700
And, you know, the source

00:46:01.700 --> 00:46:03.600
code of this would know how to

00:46:03.600 --> 00:46:06.060
handle how to decompress or

00:46:06.060 --> 00:46:08.740
compress all these formats.

00:46:09.520 --> 00:46:11.580
And so, you know, built into

00:46:11.580 --> 00:46:13.560
this processor, it already

00:46:13.560 --> 00:46:15.880
knows that if it's a zip, this

00:46:15.880 --> 00:46:17.600
is the method I'm going to use

00:46:17.600 --> 00:46:19.740
to unzip or to zip.

00:46:20.500 --> 00:46:23.120
So for this scenario, we're

00:46:23.120 --> 00:46:24.320
going to run it one time.

00:46:24.720 --> 00:46:25.560
It should be successful

00:46:26.580 --> 00:46:28.180
because, you know, it is a

00:46:28.180 --> 00:46:29.380
proper zip file.

00:46:30.360 --> 00:46:31.760
I bet everyone on this call has

00:46:31.760 --> 00:46:33.660
downloaded a zip file before and

00:46:33.660 --> 00:46:35.560
it got corrupted or something,

00:46:36.520 --> 00:46:38.340
and you couldn't extract it.

00:46:38.380 --> 00:46:41.280
So if the processor could not

00:46:41.280 --> 00:46:44.960
extract this file, it would have

00:46:44.960 --> 00:46:46.020
went to failure.

00:46:46.440 --> 00:46:50.060
And then I would like, okay,

00:46:50.240 --> 00:46:51.340
well, why am I getting

00:46:51.340 --> 00:46:52.000
failures?

00:46:52.520 --> 00:46:54.580
And this gives me this run

00:46:54.580 --> 00:46:56.500
once way of doing things gives

00:46:57.240 --> 00:47:02.000
me the capability to just run

00:47:02.000 --> 00:47:03.760
it one time and see how things

00:47:03.760 --> 00:47:04.360
are going.

00:47:05.460 --> 00:47:07.320
And I like to do that a few

00:47:07.320 --> 00:47:09.180
times before I fully turn

00:47:09.180 --> 00:47:09.920
things on.

00:47:09.920 --> 00:47:13.920
So anyway, so now it is

00:47:14.940 --> 00:47:15.700
success.

00:47:16.140 --> 00:47:17.760
We're going to list the queue.

00:47:23.040 --> 00:47:23.920
I don't think there's any,

00:47:24.820 --> 00:47:25.960
yeah, there's no new

00:47:25.960 --> 00:47:26.800
attributes.

00:47:28.040 --> 00:47:29.840
The decompress doesn't add

00:47:29.840 --> 00:47:30.540
attributes.

00:47:33.540 --> 00:47:34.380
All right.

00:47:44.040 --> 00:47:45.760
We're going to run put file

00:47:45.760 --> 00:47:46.920
one time.

00:48:04.900 --> 00:48:06.480
Let's see here.

00:48:07.020 --> 00:48:08.740
I'm looking at why it didn't

00:48:08.740 --> 00:48:10.740
actually do the decompress.

00:48:26.740 --> 00:48:27.480
All right.

00:48:28.620 --> 00:48:30.520
And I want to actually,

00:48:30.920 --> 00:48:33.200
I want to test this another

00:48:33.200 --> 00:48:33.980
way, too.

00:48:33.980 --> 00:48:35.420
I want to put

00:48:48.180 --> 00:48:51.920
this file back into its

00:48:51.920 --> 00:48:57.740
original spot for now.

00:49:14.380 --> 00:49:17.180
All right.

00:49:20.300 --> 00:49:21.840
Let's see here.

00:49:22.000 --> 00:49:22.860
Let's see fail.

00:49:29.300 --> 00:49:31.780
So decompress content.

00:50:00.100 --> 00:50:01.180
All right.

00:50:01.380 --> 00:50:04.660
We should have got three files

00:50:04.660 --> 00:50:05.900
out of that because that zip

00:50:05.900 --> 00:50:07.100
file has three.

00:50:09.400 --> 00:50:10.900
So I'm adding in a little bit

00:50:10.900 --> 00:50:12.880
more logic here to see

00:50:12.880 --> 00:50:14.280
where it's failing.

00:50:15.480 --> 00:50:19.840
So automatically terminate

00:50:19.840 --> 00:50:21.940
and automatically terminate

00:50:21.940 --> 00:50:22.400
apply.

00:50:23.400 --> 00:50:24.940
So it's good to go because I

00:50:24.940 --> 00:50:26.140
don't need to worry about

00:50:26.140 --> 00:50:27.220
that.

00:50:28.280 --> 00:50:28.880
And

00:50:34.180 --> 00:50:35.600
run them once.

00:50:38.120 --> 00:50:39.500
That should clear my

00:50:40.420 --> 00:50:41.020
queues.

00:50:51.120 --> 00:50:52.220
Give me just a second.

00:50:52.220 --> 00:50:53.600
For some reason it is being

00:50:53.600 --> 00:50:54.660
penalized.

00:50:57.220 --> 00:50:57.680
Let's see.

00:51:24.520 --> 00:51:25.920
Let's see.

00:51:27.680 --> 00:51:28.840
And some of these checks and

00:51:28.840 --> 00:51:31.620
balances to begin with.

00:51:31.920 --> 00:51:33.680
Empty my queue.

00:51:51.720 --> 00:51:53.060
Still there.

00:51:55.020 --> 00:52:01.060
That's not corrupted.

00:52:20.900 --> 00:52:22.640
It's really weird.

00:52:22.640 --> 00:52:24.620
It was penalized but there was

00:52:24.620 --> 00:52:26.260
no reason to penalize it.

00:52:26.840 --> 00:52:28.560
But I may have clicked something

00:52:28.560 --> 00:52:28.900
wrong.

00:52:29.160 --> 00:52:31.080
Let me see here.

00:52:31.080 --> 00:52:33.080
Put this file here.

00:52:50.940 --> 00:52:52.320
Did I use the wrong processor?

00:52:52.320 --> 00:52:52.840
Let's see.

00:53:11.300 --> 00:53:14.680
I'm just looking at why this is

00:53:14.680 --> 00:53:15.220
not

00:53:24.080 --> 00:53:26.260
Even when I have a problem

00:53:26.260 --> 00:53:28.340
I do the same thing.

00:53:43.760 --> 00:53:44.320
All right.

00:53:44.520 --> 00:53:45.460
Supports don't see it.

00:53:54.060 --> 00:53:55.260
This is really weird.

00:53:55.340 --> 00:53:56.320
Because it's supposed to decompress.

00:54:22.340 --> 00:54:23.800
This is one of those things

00:54:24.320 --> 00:54:24.900
where

00:54:33.640 --> 00:54:36.520
Is it possible to test as you

00:54:36.520 --> 00:54:36.860
go?

00:54:37.320 --> 00:54:39.660
For example, you put together

00:54:40.320 --> 00:54:42.020
those first couple processors

00:54:42.020 --> 00:54:44.260
could you have tested

00:54:44.260 --> 00:54:46.100
that some way right off the bat

00:54:46.100 --> 00:54:48.240
and then moved on and then

00:54:48.240 --> 00:54:49.220
you know what I mean?

00:54:49.220 --> 00:54:50.320
So that kind of

00:54:50.320 --> 00:54:51.460
test as you go?

00:54:54.000 --> 00:54:55.120
That is

00:54:56.040 --> 00:54:57.160
exactly why

00:54:57.160 --> 00:54:58.820
you see me just saying

00:54:58.820 --> 00:55:00.000
run once.

00:55:00.780 --> 00:55:02.420
So I run it one time

00:55:03.340 --> 00:55:05.480
and then what I like to do

00:55:05.480 --> 00:55:06.740
and it's weird

00:55:06.740 --> 00:55:08.660
this literally was not working

00:55:08.660 --> 00:55:10.020
but it was just working.

00:55:10.740 --> 00:55:13.040
What I like to do is run it one time

00:55:13.040 --> 00:55:14.980
and then I'll look at my queue.

00:55:16.020 --> 00:55:16.760
Let me go

00:55:16.760 --> 00:55:18.480
and listen to my queue.

00:55:19.120 --> 00:55:20.200
Am I like

00:55:20.200 --> 00:55:22.460
I know that I'm expecting

00:55:22.460 --> 00:55:24.200
one zip file.

00:55:24.420 --> 00:55:26.280
So I look at the queue

00:55:26.280 --> 00:55:28.540
and that's what I have is one

00:55:28.540 --> 00:55:29.600
zip file.

00:55:30.020 --> 00:55:32.280
And then I'll run

00:55:33.340 --> 00:55:34.660
let me finish building

00:55:34.660 --> 00:55:35.280
this relationship.

00:55:35.880 --> 00:55:38.020
What I was thinking was like

00:55:38.020 --> 00:55:41.100
doing it that way as opposed to putting all the

00:55:41.100 --> 00:55:42.360
processes on the canvas

00:55:42.360 --> 00:55:44.620
at one time and connecting them

00:55:44.620 --> 00:55:46.380
and doing all that work.

00:55:46.640 --> 00:55:48.760
I get that you can do the run

00:55:48.760 --> 00:55:51.020
once at each processor but

00:55:51.020 --> 00:55:52.220
I guess it's

00:55:52.220 --> 00:55:52.500
up.

00:55:54.280 --> 00:55:56.600
It depends on how you

00:55:56.600 --> 00:55:57.500
work I suppose.

00:55:58.620 --> 00:55:58.760
Exactly.

00:55:59.920 --> 00:56:02.300
If you remember when I opened up

00:56:02.300 --> 00:56:04.420
there's many ways to skin a cat

00:56:04.420 --> 00:56:05.120
with NAFA.

00:56:06.620 --> 00:56:08.300
That's some of the power of NAFA

00:56:08.300 --> 00:56:10.760
but that's also some of the

00:56:10.760 --> 00:56:12.620
negative because you don't have

00:56:12.800 --> 00:56:14.800
you like strict boundaries.

00:56:16.340 --> 00:56:18.740
And so I mean

00:56:21.860 --> 00:56:23.240
there we go.

00:56:29.120 --> 00:56:29.140
So

00:56:29.140 --> 00:56:31.020
yeah what I like to do

00:56:31.020 --> 00:56:32.540
is you know

00:56:32.540 --> 00:56:34.940
but you don't if your question is

00:56:34.940 --> 00:56:37.020
do you have to complete the flow

00:56:37.020 --> 00:56:38.800
file to test? You don't.

00:56:40.140 --> 00:56:41.020
You can

00:56:41.020 --> 00:56:43.080
I can have just this and

00:56:43.080 --> 00:56:45.060
this and a log

00:56:45.060 --> 00:56:47.440
message right? And

00:56:47.440 --> 00:56:48.600
you know I can

00:56:48.600 --> 00:56:50.000
run this flow.

00:56:51.120 --> 00:56:52.920
It will not

00:56:52.920 --> 00:56:54.600
continue until the

00:56:54.600 --> 00:56:56.920
it will not go through the next

00:56:56.920 --> 00:56:59.020
processor until

00:56:59.020 --> 00:57:00.940
you know until

00:57:00.940 --> 00:57:02.960
you have everything resolved.

00:57:03.520 --> 00:57:04.840
You have the relationships

00:57:04.840 --> 00:57:07.040
and things like that. So that's why I run

00:57:07.040 --> 00:57:09.200
this once. I'm going to run

00:57:09.200 --> 00:57:11.260
identify MIME type once.

00:57:15.980 --> 00:57:17.440
So I have it successfully

00:57:17.440 --> 00:57:19.700
sent to the decompressed content

00:57:19.700 --> 00:57:21.780
the unpacked content.

00:57:23.780 --> 00:57:25.380
Yep and I'm going to take and put

00:57:25.380 --> 00:57:26.580
the original

00:57:27.900 --> 00:57:29.620
put the original back in here

00:57:29.620 --> 00:57:30.260
even.

00:57:33.260 --> 00:57:35.960
The latency when you're

00:57:35.960 --> 00:57:37.200
like I said when you

00:57:39.200 --> 00:57:41.260
when you're doing this on your own laptop

00:57:41.260 --> 00:57:42.400
and not a VM

00:57:43.080 --> 00:57:45.420
it's a lot more it's a lot better

00:57:45.420 --> 00:57:47.040
user experience.

00:57:48.940 --> 00:57:51.360
But I'm going to drag this here and

00:57:51.360 --> 00:57:53.100
I'm going to put the original

00:57:53.100 --> 00:57:54.980
where I want the unpacking to go.

00:57:56.180 --> 00:57:57.320
And then I'll go through

00:57:57.320 --> 00:57:59.880
and clean this up. So

00:57:59.880 --> 00:58:01.380
I'm going to run the

00:58:01.380 --> 00:58:03.000
decompressed content once.

00:58:04.640 --> 00:58:05.220
And I'm just

00:58:05.220 --> 00:58:07.380
testing out because I'm trying to figure out why.

00:58:09.200 --> 00:58:11.280
So one came in three

00:58:11.280 --> 00:58:13.200
came out.

00:58:30.160 --> 00:58:31.660
There's the

00:58:31.660 --> 00:58:33.200
decompressed. Okay.

00:58:35.200 --> 00:58:36.780
There we go.

00:58:37.600 --> 00:58:38.980
For some reason

00:58:38.980 --> 00:58:40.880
this processor is not

00:58:40.880 --> 00:58:43.060
doing its job but it's okay

00:58:43.060 --> 00:58:44.780
we can fix this.

00:58:47.800 --> 00:58:48.860
We'll start

00:58:48.860 --> 00:58:50.860
deleting the connections.

00:59:00.140 --> 00:59:00.960
And this

00:59:00.960 --> 00:59:02.760
is a good example of you know

00:59:02.760 --> 00:59:04.920
if a processor is not a good fit

00:59:04.920 --> 00:59:07.100
not you know there's something

00:59:07.100 --> 00:59:08.980
going on it's not that there's a bug

00:59:08.980 --> 00:59:11.020
or something there's something going on with my

00:59:11.020 --> 00:59:11.960
configuration.

00:59:13.540 --> 00:59:14.400
You're not empty.

00:59:17.080 --> 00:59:19.080
But if a processor is not

00:59:19.080 --> 00:59:20.160
a good fit

00:59:20.920 --> 00:59:22.760
and you have those connections

00:59:22.760 --> 00:59:24.980
have data in the queue

00:59:24.980 --> 00:59:27.140
you got to clear the queue before you

00:59:27.140 --> 00:59:29.120
can replace

00:59:30.780 --> 00:59:33.060
the processor. So what we did is we just

00:59:33.060 --> 00:59:35.260
put it to unpacked content instead

00:59:35.260 --> 00:59:36.920
of decompress.

00:59:38.200 --> 00:59:39.080
So you may want

00:59:39.080 --> 00:59:41.060
to update your flow. I'll go

00:59:41.060 --> 00:59:42.980
back and check why the

00:59:42.980 --> 00:59:44.980
decompress is not working

00:59:44.980 --> 00:59:47.100
because it didn't decompress anything.

00:59:49.060 --> 00:59:51.040
So in this scenario though we've

00:59:51.040 --> 00:59:52.940
got our file coming in. We've

00:59:52.940 --> 00:59:54.880
identified the mom type. We're now

00:59:54.880 --> 00:59:56.980
using the unpacked content

00:59:56.980 --> 00:59:57.840
processor.

00:59:59.200 --> 01:00:01.120
It unpacks the contents of

01:00:01.120 --> 01:00:01.940
flow file

01:00:03.300 --> 01:00:04.060
and

01:00:05.120 --> 01:00:06.320
gave me

01:00:07.120 --> 01:00:09.140
this one I like as well because

01:00:09.140 --> 01:00:11.120
it gives me three different relationships

01:00:11.700 --> 01:00:13.100
more than just

01:00:13.100 --> 01:00:15.180
yes or no right. So

01:00:15.180 --> 01:00:17.060
it gives me a failure relationship

01:00:17.060 --> 01:00:19.320
original relationship success.

01:00:20.080 --> 01:00:21.540
So you know in this scenario

01:00:21.540 --> 01:00:23.480
I have unpacked

01:00:23.480 --> 01:00:25.380
it. I'm sending all of my

01:00:25.380 --> 01:00:27.020
success to

01:00:27.020 --> 01:00:28.920
log messages for instance

01:00:28.920 --> 01:00:31.400
but I could send it you know

01:00:31.400 --> 01:00:32.840
I need to put it in this folder.

01:00:33.300 --> 01:00:35.100
So what I want to do is take

01:00:35.100 --> 01:00:36.920
the original

01:00:43.840 --> 01:00:45.400
and we'll put it there.

01:00:45.500 --> 01:00:47.380
Notice that that file

01:00:47.380 --> 01:00:49.280
is still in the queue

01:00:49.280 --> 01:00:51.360
and I'm now changing

01:00:51.360 --> 01:00:53.200
direction of where it's going.

01:00:54.120 --> 01:00:55.120
And now I'm going to take

01:00:55.120 --> 01:00:57.220
my success and put it here.

01:00:58.920 --> 01:00:59.920
Okay perfect.

01:01:01.380 --> 01:01:03.100
So now what I've

01:01:03.100 --> 01:01:04.940
done is well I fixed

01:01:04.940 --> 01:01:07.160
my error and I used the

01:01:07.160 --> 01:01:08.940
correct processor but

01:01:08.940 --> 01:01:10.920
I've picked the file up. I've

01:01:10.920 --> 01:01:13.220
identified the mom type unpacked

01:01:13.220 --> 01:01:15.360
the content. I sent any

01:01:15.360 --> 01:01:16.820
failures. So

01:01:16.820 --> 01:01:18.900
if it's a corrupted

01:01:18.900 --> 01:01:20.940
zip or similar it's

01:01:20.940 --> 01:01:22.800
going to log all failure messages.

01:01:23.420 --> 01:01:25.180
I'm sending the

01:01:25.180 --> 01:01:26.920
original back to

01:01:28.120 --> 01:01:29.220
the place I picked

01:01:29.220 --> 01:01:31.240
it up you know just for testing

01:01:31.240 --> 01:01:33.240
purposes. Well actually

01:01:33.240 --> 01:01:35.360
I'm sending it to unzipped weather data

01:01:35.360 --> 01:01:37.060
which I need to change.

01:01:39.040 --> 01:01:40.960
This one is going to

01:01:43.740 --> 01:01:45.120
I'm going to change it and I'm going to

01:01:45.120 --> 01:01:47.320
put it back exactly where I have it.

01:01:47.400 --> 01:01:49.080
It's going to fail because

01:01:49.080 --> 01:01:51.060
the name you know I kept the original

01:01:51.880 --> 01:01:52.360
but

01:01:52.920 --> 01:01:53.540
doesn't matter.

01:02:01.220 --> 01:02:01.940
Okay.

01:02:03.540 --> 01:02:04.700
We'll go ahead and empty my

01:02:06.000 --> 01:02:06.720
queues.

01:02:08.600 --> 01:02:08.940
In

01:02:08.940 --> 01:02:10.840
this scenario and this

01:02:10.840 --> 01:02:12.820
these issues I'm running into these

01:02:12.820 --> 01:02:14.560
are issues you're going to deal with.

01:02:15.000 --> 01:02:16.420
And you know

01:02:16.420 --> 01:02:18.680
how you overcome those.

01:02:19.740 --> 01:02:21.140
So I

01:02:21.140 --> 01:02:22.920
think I've got my

01:02:24.520 --> 01:02:25.100
I think I've

01:02:25.100 --> 01:02:27.120
got my flow

01:02:27.120 --> 01:02:28.800
kind of figured out.

01:02:28.800 --> 01:02:31.060
Let me empty my queues and I'm

01:02:31.060 --> 01:02:33.100
going to run it one more time.

01:02:39.480 --> 01:02:40.200
And empty.

01:02:40.860 --> 01:02:41.380
Okay.

01:02:45.160 --> 01:02:47.420
So I see nothing in my queues.

01:02:47.860 --> 01:02:49.080
I see all my connections

01:02:49.080 --> 01:02:50.940
are good. I'm at a stopped

01:02:50.940 --> 01:02:53.260
state. If there would have been an

01:02:53.260 --> 01:02:55.460
error and I'm trying to generate

01:02:55.460 --> 01:02:57.320
an error. If there's an

01:02:57.320 --> 01:02:59.760
error we're going to get a

01:02:59.760 --> 01:03:01.300
little red box in

01:03:01.300 --> 01:03:03.520
the top right of your processor

01:03:03.520 --> 01:03:05.240
and it

01:03:05.240 --> 01:03:07.580
will give you a brief description

01:03:07.580 --> 01:03:08.920
of the error.

01:03:09.340 --> 01:03:11.060
That's another reason I recommend

01:03:11.060 --> 01:03:13.320
logging as much as possible

01:03:13.320 --> 01:03:15.300
so you can get a better

01:03:15.300 --> 01:03:16.480
detailed message.

01:03:17.180 --> 01:03:19.240
And I'm trying to cause

01:03:19.240 --> 01:03:21.140
an error and we will

01:03:21.140 --> 01:03:23.360
during our building of flow files.

01:03:24.380 --> 01:03:25.260
But you know as soon as

01:03:25.260 --> 01:03:27.220
I can cause an error and we see

01:03:27.220 --> 01:03:29.020
it I'll let you know. But anyway

01:03:29.020 --> 01:03:31.140
so I've built my

01:03:31.880 --> 01:03:33.140
my flow. I want

01:03:33.140 --> 01:03:35.180
to get it. Then if I mine

01:03:35.180 --> 01:03:37.140
tight I'm going to unpack it.

01:03:38.160 --> 01:03:39.260
Any failures I'm going to

01:03:39.260 --> 01:03:39.980
log those.

01:03:41.280 --> 01:03:43.640
I'm going to take all the success

01:03:44.160 --> 01:03:45.260
and put them in

01:03:45.260 --> 01:03:47.260
the unzipped weather

01:03:47.260 --> 01:03:49.140
data folder. And then I

01:03:49.280 --> 01:03:51.200
take the original and I'm going to put it

01:03:51.200 --> 01:03:52.900
right back to where it came from.

01:03:56.020 --> 01:03:57.520
And so this

01:03:57.520 --> 01:03:59.220
should work now.

01:03:59.940 --> 01:04:01.620
So I'm going to tell it to run once.

01:04:04.840 --> 01:04:05.320
Refresh.

01:04:05.580 --> 01:04:07.640
It's there. Run once again.

01:04:09.680 --> 01:04:11.120
And Tom I think you were kind of asking

01:04:11.120 --> 01:04:13.180
this. Let me do this. Delete.

01:04:16.400 --> 01:04:16.880
So

01:04:16.880 --> 01:04:17.320
so this

01:04:17.320 --> 01:04:19.340
processor is not complete anymore because

01:04:19.340 --> 01:04:20.800
I deleted that connection.

01:04:21.160 --> 01:04:23.240
But I can still run

01:04:23.240 --> 01:04:25.180
the previous.

01:04:31.500 --> 01:04:33.160
Well that also goes back to what you were saying.

01:04:33.340 --> 01:04:35.240
You need to make sure you resolve all those little

01:04:35.240 --> 01:04:37.300
warning things on

01:04:37.300 --> 01:04:38.460
your processors right?

01:04:38.820 --> 01:04:41.540
And so now it's just going to

01:04:41.540 --> 01:04:43.740
stop. And so when I resolve

01:04:43.740 --> 01:04:45.820
the relationship success

01:04:54.400 --> 01:04:54.980
it's

01:04:54.980 --> 01:04:55.240
going to

01:04:55.240 --> 01:04:55.380
stop.

01:04:55.380 --> 01:04:57.340
red and wait for me to either start

01:04:57.340 --> 01:04:58.580
it or start once.

01:04:59.080 --> 01:05:00.880
So let's just run one time.

01:05:03.000 --> 01:05:04.580
And I should get

01:05:04.580 --> 01:05:07.160
five files. The original

01:05:07.160 --> 01:05:09.080
and four in the

01:05:09.080 --> 01:05:11.080
zips. Okay so we're working great

01:05:11.080 --> 01:05:13.500
now. And then from there

01:05:13.500 --> 01:05:15.060
I am going to put

01:05:18.300 --> 01:05:19.760
actually I just hit start

01:05:19.760 --> 01:05:21.820
instead of run once. It's going to put all

01:05:21.820 --> 01:05:23.900
four files where it goes.

01:05:24.440 --> 01:05:25.680
And then also it's just

01:05:25.680 --> 01:05:27.800
logging everything. So let me go ahead and

01:05:27.800 --> 01:05:29.200
I can turn on my log.

01:05:29.680 --> 01:05:31.460
I can turn on all the logging.

01:05:34.880 --> 01:05:35.380
Good.

01:05:35.840 --> 01:05:37.460
So now let's go check

01:05:37.460 --> 01:05:38.640
our folders.

01:05:43.160 --> 01:05:43.860
Should have

01:05:43.860 --> 01:05:44.840
there we go.

01:05:44.840 --> 01:05:47.180
And then also through the original

01:05:47.180 --> 01:05:48.460
back in there.

01:05:49.340 --> 01:05:50.060
So

01:05:51.380 --> 01:05:53.000
now I have

01:05:53.000 --> 01:05:54.920
my flow. My flow is built.

01:05:55.260 --> 01:05:57.140
I've tested it. It looks like

01:05:57.140 --> 01:05:59.280
it's working. I'm being

01:05:59.280 --> 01:06:01.040
penalized. I don't know if it's system

01:06:01.040 --> 01:06:02.780
resources or what.

01:06:05.400 --> 01:06:07.100
Maybe too many successes.

01:06:17.500 --> 01:06:18.140
I have to

01:06:18.140 --> 01:06:20.020
take a look at why I'm being penalized.

01:06:21.700 --> 01:06:23.120
yeah so I've got my

01:06:23.120 --> 01:06:25.340
original. I've got my success.

01:06:25.520 --> 01:06:27.500
I've got my failures. I have

01:06:27.500 --> 01:06:29.500
a operational flow

01:06:29.500 --> 01:06:30.380
now.

01:06:34.540 --> 01:06:37.000
So what I want to do now

01:06:45.220 --> 01:06:47.360
Well, if that is success

01:06:47.360 --> 01:06:48.980
I already know I can take away

01:06:48.980 --> 01:06:51.000
that one. So this is

01:06:51.000 --> 01:06:52.840
where I like to go back and

01:07:00.200 --> 01:07:01.260
delete, delete,

01:07:01.340 --> 01:07:02.840
put the file success.

01:07:07.300 --> 01:07:07.880
Alright.

01:07:21.160 --> 01:07:22.020
And I'll

01:07:22.020 --> 01:07:23.260
show you

01:07:23.260 --> 01:07:23.880
you just

01:07:23.880 --> 01:07:25.460
double click where you want.

01:07:25.640 --> 01:07:27.300
This was a question I had in the

01:07:27.300 --> 01:07:28.420
last class.

01:07:29.340 --> 01:07:30.700
It's actually not

01:07:30.700 --> 01:07:32.700
in the documentation but if you double

01:07:32.700 --> 01:07:34.500
click right where you want

01:07:34.500 --> 01:07:36.460
you can bend the line

01:07:36.460 --> 01:07:38.560
to make it more

01:07:38.560 --> 01:07:40.900
easier to read.

01:07:42.000 --> 01:07:43.560
So you can mess with those.

01:07:43.560 --> 01:07:45.760
Okay, so I think I am

01:07:45.760 --> 01:07:46.520
good.

01:07:47.420 --> 01:07:49.520
I'm going to empty my queue.

01:07:51.880 --> 01:07:53.640
Alright, so I've got the file

01:07:53.640 --> 01:07:55.640
that's coming in. It's unpacking. Any

01:07:55.640 --> 01:07:57.520
failures go there. Any failures

01:07:57.520 --> 01:07:58.520
go there.

01:08:00.340 --> 01:08:00.960
Success

01:08:03.900 --> 01:08:05.680
goes here in

01:08:05.680 --> 01:08:07.200
the original.

01:08:08.840 --> 01:08:09.640
Oh, I don't need

01:08:09.640 --> 01:08:11.920
the success because I just put the file

01:08:22.720 --> 01:08:24.620
I'm testing my flow out.

01:08:24.960 --> 01:08:27.660
I'm going to auto terminate success.

01:08:29.620 --> 01:08:31.440
Any failures I've got to go into my

01:08:31.440 --> 01:08:33.220
log. Any unpacking

01:08:33.220 --> 01:08:34.900
failures I've got to go into my log.

01:08:35.220 --> 01:08:37.560
And then I'm going to send the original

01:08:43.560 --> 01:08:45.840
back to its original place.

01:08:45.880 --> 01:08:47.640
Yeah, weather data. You know what?

01:08:47.760 --> 01:08:49.780
I want to make a copy of

01:08:51.000 --> 01:08:51.600
it

01:08:51.600 --> 01:08:53.720
for demonstration purposes. So I'm

01:08:53.720 --> 01:08:55.680
going to actually create weather data

01:08:55.680 --> 01:08:59.300
one where it's going to put it.

01:08:59.600 --> 01:09:01.720
It should come back and complain.

01:09:05.560 --> 01:09:07.640
Oh, I don't have any more successes.

01:09:17.880 --> 01:09:19.560
Where's my weather data?

01:09:20.400 --> 01:09:21.080
Copy.

01:09:33.000 --> 01:09:33.680
Alright.

01:09:34.360 --> 01:09:35.980
My goal is to be able to

01:09:35.980 --> 01:09:37.780
pick up the weather data.

01:09:39.180 --> 01:09:41.520
Push it back. Oh, perfect.

01:09:41.880 --> 01:09:42.880
And it's

01:09:42.880 --> 01:09:43.600
me.

01:09:52.880 --> 01:09:55.020
So I want to pick up

01:09:55.020 --> 01:09:57.020
from weather data.

01:10:03.260 --> 01:10:04.940
Once I have

01:10:04.940 --> 01:10:06.880
that, I am going to

01:10:09.000 --> 01:10:11.040
grab it here.

01:10:11.040 --> 01:10:13.140
I like to go through and double check.

01:10:13.160 --> 01:10:15.200
It's going to pick up from weather data.

01:10:15.980 --> 01:10:17.240
It's going to unpack it.

01:10:17.580 --> 01:10:19.500
It's going to put all the

01:10:19.500 --> 01:10:21.500
extracted files in

01:10:21.500 --> 01:10:22.740
unzipped weather data.

01:10:24.560 --> 01:10:25.080
I have that

01:10:25.080 --> 01:10:27.340
created unzipped weather data.

01:10:29.340 --> 01:10:31.300
I can go ahead and control A

01:10:31.300 --> 01:10:33.260
and delete all these.

01:10:34.140 --> 01:10:35.440
My folders are empty.

01:10:36.360 --> 01:10:37.100
Everything's good

01:10:37.100 --> 01:10:38.000
to go.

01:10:38.760 --> 01:10:40.140
And then I'm going to take the

01:10:40.140 --> 01:10:40.920
original

01:10:42.540 --> 01:10:43.860
and I'm going to put it in a

01:10:43.860 --> 01:10:44.740
separate folder.

01:10:45.520 --> 01:10:47.660
So I just have a copy of the original.

01:10:48.100 --> 01:10:49.740
And then that way I can tell

01:10:49.740 --> 01:10:51.820
the git file to

01:10:51.820 --> 01:10:53.880
keep, to not keep

01:10:53.880 --> 01:10:55.760
the source.

01:10:57.360 --> 01:10:57.880
Apply.

01:10:58.620 --> 01:10:59.120
Okay.

01:10:59.800 --> 01:11:01.760
So technically this, and I'm not

01:11:01.760 --> 01:11:03.700
using this, as you can see

01:11:03.700 --> 01:11:04.300
anymore.

01:11:04.300 --> 01:11:09.460
So I can actually delete that.

01:11:10.420 --> 01:11:12.300
My flow file is

01:11:12.300 --> 01:11:14.160
pretty simple now.

01:11:14.420 --> 01:11:15.960
I've taken out some logging.

01:11:16.640 --> 01:11:17.800
I have

01:11:17.800 --> 01:11:19.920
run through this once or twice

01:11:19.920 --> 01:11:21.880
to make sure everything works.

01:11:22.640 --> 01:11:24.280
So what I like to do is

01:11:24.280 --> 01:11:26.300
work backwards in starting

01:11:26.300 --> 01:11:28.580
this. If all of these,

01:11:28.580 --> 01:11:30.560
and we're about to do that too,

01:11:30.740 --> 01:11:32.340
if all of these are in a

01:11:32.340 --> 01:11:34.840
processor group, I could

01:11:34.840 --> 01:11:36.620
start and stop the whole

01:11:36.620 --> 01:11:37.940
processor group from

01:11:37.940 --> 01:11:39.420
my operating palette.

01:11:40.620 --> 01:11:42.400
Alright, we can unpack content.

01:11:42.800 --> 01:11:43.640
Go there.

01:11:44.000 --> 01:11:45.080
Identify mine type.

01:11:46.740 --> 01:11:47.140
Start.

01:11:47.600 --> 01:11:49.960
And here's why I use the run once.

01:11:51.960 --> 01:11:54.100
So, let me

01:11:54.100 --> 01:11:55.740
open my folders again.

01:12:05.960 --> 01:12:06.720
Unzip.

01:12:07.060 --> 01:12:07.820
Alright.

01:12:07.920 --> 01:12:09.220
It is empty.

01:12:10.320 --> 01:12:11.260
As soon as I turn this

01:12:11.260 --> 01:12:11.880
on,

01:12:13.460 --> 01:12:15.580
I should have files here.

01:12:16.440 --> 01:12:17.320
There they are.

01:12:17.740 --> 01:12:19.200
It's that quick.

01:12:20.180 --> 01:12:21.480
And that's what I was saying

01:12:21.480 --> 01:12:23.280
earlier, if I had a thousand

01:12:23.280 --> 01:12:25.400
files, it would

01:12:25.400 --> 01:12:27.060
process extremely quickly.

01:12:27.520 --> 01:12:28.980
Alright, so I built

01:12:28.980 --> 01:12:29.820
my flow.

01:12:30.460 --> 01:12:32.200
My flow was successful.

01:12:32.200 --> 01:12:33.920
It did exactly like

01:12:33.920 --> 01:12:35.540
I wanted it to do.

01:12:36.400 --> 01:12:37.820
You know, so with that being said,

01:12:39.440 --> 01:12:40.480
any questions

01:12:40.480 --> 01:12:42.000
on, you know, kind of

01:12:42.000 --> 01:12:44.100
walking through our original flow?

01:12:44.440 --> 01:12:46.000
We did have a couple of errors.

01:12:46.020 --> 01:12:47.420
We had to work through those.

01:12:47.860 --> 01:12:49.640
We had to, you know,

01:12:49.780 --> 01:12:51.000
touch up a few things.

01:12:52.020 --> 01:12:54.380
It looks like a spider web.

01:12:54.560 --> 01:12:55.840
So it's definitely not

01:12:55.840 --> 01:12:57.020
how I like it to look.

01:12:57.020 --> 01:12:59.440
So what I like to do, as a,

01:12:59.440 --> 01:13:00.560
you know, as an engineer,

01:13:01.240 --> 01:13:03.040
is I'll go through and start

01:13:03.040 --> 01:13:04.620
cleaning this up.

01:13:04.620 --> 01:13:06.940
And, you know, I'll start

01:13:06.940 --> 01:13:09.220
putting this where

01:13:09.220 --> 01:13:13.280
it makes logical sense to me.

01:13:19.080 --> 01:13:21.800
And I'll start cleaning all this up.

01:13:25.460 --> 01:13:27.300
And you can see

01:13:27.300 --> 01:13:28.940
when you're dealing with

01:13:28.940 --> 01:13:30.640
these, you know, these types of

01:13:30.640 --> 01:13:31.520
operations,

01:13:32.920 --> 01:13:34.260
you know, having

01:13:34.260 --> 01:13:36.040
connections everywhere,

01:13:36.940 --> 01:13:38.580
you know,

01:13:39.340 --> 01:13:41.640
let me read that line.

01:13:42.100 --> 01:13:43.880
There you go. Having

01:13:43.880 --> 01:13:45.660
connections everywhere, you know,

01:13:45.660 --> 01:13:47.320
it can look like a spider web.

01:13:47.700 --> 01:13:49.960
And so what I like to do is

01:13:49.960 --> 01:13:51.560
as my flow is

01:13:51.560 --> 01:13:53.720
developing and as I'm building this out,

01:13:54.200 --> 01:13:55.220
I go through

01:13:55.220 --> 01:13:57.260
and start

01:13:57.260 --> 01:13:59.300
cleaning it up. I start applying

01:13:59.300 --> 01:14:01.060
labels. I apply colors.

01:14:01.420 --> 01:14:03.520
I'll go through and rename

01:14:03.520 --> 01:14:05.860
these to make sense.

01:14:06.580 --> 01:14:07.560
So with that being said,

01:14:10.240 --> 01:14:11.480
any questions

01:14:12.600 --> 01:14:14.040
on this

01:14:14.040 --> 01:14:15.440
flow and how

01:14:15.440 --> 01:14:17.640
we built it, any of the visualization,

01:14:18.040 --> 01:14:19.680
we still haven't went into the

01:14:19.680 --> 01:14:21.600
Babanauts, and we're going to work on that

01:14:21.600 --> 01:14:22.620
after the break.

01:14:23.540 --> 01:14:25.600
But, you know, any questions

01:14:25.600 --> 01:14:26.320
so far?

01:14:28.100 --> 01:14:29.200
I missed a part

01:14:29.200 --> 01:14:31.020
about the group.

01:14:32.820 --> 01:14:33.680
Also, I'm not sure what

01:14:35.060 --> 01:14:35.680
the parts

01:14:35.680 --> 01:14:36.960
like small boxes are.

01:14:38.060 --> 01:14:39.220
Oh, okay.

01:14:40.360 --> 01:14:41.600
And I'll look at

01:14:41.600 --> 01:14:43.780
your screen in a minute and make sure

01:14:43.780 --> 01:14:45.240
everything looks good.

01:14:45.600 --> 01:14:48.060
But, you know, the connections

01:14:48.060 --> 01:14:50.060
are the relationships

01:14:51.000 --> 01:14:52.260
coming out of that

01:14:52.260 --> 01:14:54.060
processor. So for instance,

01:14:55.040 --> 01:14:56.380
getting the file only

01:14:56.380 --> 01:14:58.260
has success. So

01:14:58.260 --> 01:15:00.400
I send the success to identify

01:15:00.400 --> 01:15:01.200
the MIND type.

01:15:01.960 --> 01:15:03.960
Identify MIND type only has

01:15:03.960 --> 01:15:06.240
success, so I will send it to the

01:15:06.240 --> 01:15:07.420
unpacked content.

01:15:08.860 --> 01:15:09.860
And then

01:15:09.860 --> 01:15:12.340
the unpacked content has

01:15:12.340 --> 01:15:14.140
three relationships.

01:15:14.580 --> 01:15:16.180
The one is your original

01:15:16.180 --> 01:15:17.700
file that it got.

01:15:18.760 --> 01:15:20.180
The success,

01:15:20.400 --> 01:15:22.320
which is the unzipped files,

01:15:22.800 --> 01:15:24.280
and failure in case

01:15:24.280 --> 01:15:26.120
it can't unzip the file.

01:15:27.280 --> 01:15:28.020
Or

01:15:28.020 --> 01:15:30.200
extract it from a tar or whatever.

01:15:31.080 --> 01:15:32.400
So those are the three

01:15:32.400 --> 01:15:34.440
relationships, three connections

01:15:34.440 --> 01:15:35.660
I need to build.

01:15:36.140 --> 01:15:38.280
I could go to

01:15:38.280 --> 01:15:40.220
unpacked content and

01:15:40.220 --> 01:15:41.260
configure it.

01:15:42.660 --> 01:15:44.100
And say auto

01:15:44.100 --> 01:15:45.940
terminate on failure,

01:15:45.940 --> 01:15:47.960
for instance. But

01:15:47.960 --> 01:15:49.920
what I like to do for now

01:15:49.920 --> 01:15:51.780
is I like to log that message.

01:15:52.400 --> 01:15:53.860
So I can actually, while it's running,

01:15:54.020 --> 01:15:55.580
I can just say stop and configure.

01:15:56.060 --> 01:15:58.100
And I can say auto terminate failure.

01:15:58.500 --> 01:16:00.200
And it would

01:16:00.200 --> 01:16:01.940
auto terminate this failure.

01:16:03.100 --> 01:16:04.000
And, you know,

01:16:04.060 --> 01:16:05.540
and it would be complete.

01:16:05.900 --> 01:16:08.160
But I like to send it, I like to

01:16:08.160 --> 01:16:10.080
especially send my failures

01:16:10.080 --> 01:16:12.060
to a message. That way

01:16:12.060 --> 01:16:14.280
I know what's going on. But later

01:16:14.280 --> 01:16:16.180
you can take this out

01:16:16.180 --> 01:16:17.920
if you don't need that.

01:16:18.280 --> 01:16:20.060
And maybe you just turn on

01:16:24.160 --> 01:16:26.320
your bulletin level down to like

01:16:26.320 --> 01:16:28.620
info or warn. And

01:16:28.620 --> 01:16:29.880
try to catch that message.

01:16:30.200 --> 01:16:31.480
And that way it's in the log.

01:16:32.080 --> 01:16:34.260
I personally like to make sure

01:16:34.260 --> 01:16:36.040
that that failure is

01:16:36.040 --> 01:16:37.880
logged. But then that's how your

01:16:37.880 --> 01:16:39.940
connections are made. So when I come out

01:16:39.940 --> 01:16:42.360
of this unpacked content, I needed

01:16:42.360 --> 01:16:44.100
three different relationships.

01:16:44.640 --> 01:16:45.920
So I sent my original

01:16:45.920 --> 01:16:48.320
back to the original location

01:16:49.500 --> 01:16:50.180
properties.

01:16:51.820 --> 01:16:52.680
I sent it

01:16:52.680 --> 01:16:53.620
to a different folder.

01:16:55.100 --> 01:16:56.120
The original

01:16:56.120 --> 01:16:58.020
speed, the original speed in the zip, right?

01:16:58.380 --> 01:16:59.780
The original being the zip, yes.

01:17:01.440 --> 01:17:01.940
Success

01:17:01.940 --> 01:17:04.160
was the

01:17:04.160 --> 01:17:05.360
extracted files.

01:17:06.060 --> 01:17:07.940
And any failures was

01:17:07.940 --> 01:17:09.900
if it's a corrupt zip.

01:17:10.320 --> 01:17:11.640
And I remember now

01:17:11.640 --> 01:17:13.440
I looked at my put file.

01:17:14.020 --> 01:17:14.420
I can

01:17:18.040 --> 01:17:20.100
So I was getting files from

01:17:20.100 --> 01:17:21.920
weather data. Weather data

01:17:21.920 --> 01:17:23.460
is empty, right?

01:17:25.400 --> 01:17:26.080
I was putting

01:17:26.080 --> 01:17:28.240
the original in weather data one.

01:17:28.640 --> 01:17:29.940
So if I hit copy

01:17:33.940 --> 01:17:35.880
Go back into the

01:17:35.880 --> 01:17:38.200
the first get file

01:17:38.200 --> 01:17:40.140
and I say paste.

01:17:47.500 --> 01:17:49.660
Oh, luckily I have this stopped.

01:17:50.420 --> 01:17:52.240
It would have already run through.

01:17:54.440 --> 01:17:56.000
Oh, actually it did

01:17:56.000 --> 01:17:57.120
create an error. Good.

01:17:58.540 --> 01:18:00.260
The file name already exists

01:18:00.260 --> 01:18:02.000
in the where it's trying

01:18:02.000 --> 01:18:03.160
to put the files.

01:18:03.740 --> 01:18:06.060
And so it threw an error.

01:18:06.980 --> 01:18:07.640
Which I'm glad

01:18:07.640 --> 01:18:09.360
because I was trying to figure out how

01:18:09.360 --> 01:18:11.120
to quickly generate an error for

01:18:11.120 --> 01:18:12.360
us to see.

01:18:13.080 --> 01:18:15.500
So again, this is your top right corner.

01:18:15.560 --> 01:18:17.040
You'll see that little red box.

01:18:17.500 --> 01:18:19.140
It's penalizing it because

01:18:19.140 --> 01:18:21.160
the file with the same name already exists.

01:18:21.580 --> 01:18:23.360
But yes, so the original

01:18:23.360 --> 01:18:25.220
I was putting in weather data one.

01:18:25.600 --> 01:18:27.080
I'm picking up from weather data.

01:18:27.700 --> 01:18:30.340
The put file for the

01:18:30.340 --> 01:18:30.960
extract

01:18:30.960 --> 01:18:33.460
is going into the unzipped

01:18:33.460 --> 01:18:34.460
weather data folder.

01:18:35.440 --> 01:18:37.240
And we're good to go.

01:18:37.620 --> 01:18:39.260
You do see now I have a failure

01:18:40.180 --> 01:18:40.780
because

01:18:40.780 --> 01:18:42.820
the same name exists

01:18:42.820 --> 01:18:45.180
and my naming strategy

01:18:45.180 --> 01:18:46.700
has it throw an error.

01:18:46.820 --> 01:18:48.640
I can say ignore.

01:18:49.040 --> 01:18:50.260
And it would just keep writing.

01:18:51.900 --> 01:18:52.440
Okay.

01:18:53.320 --> 01:18:54.600
I want to pause here.

01:18:55.460 --> 01:18:57.020
We actually don't have much time

01:18:57.020 --> 01:18:59.040
but I definitely need something to drink.

01:18:59.040 --> 01:19:01.320
Any questions

01:19:01.320 --> 01:19:03.300
on the initial flow

01:19:03.300 --> 01:19:05.120
that we kind of worked together

01:19:05.120 --> 01:19:06.880
to build?

01:19:12.340 --> 01:19:13.340
I'm going to change this to

01:19:13.340 --> 01:19:14.280
replace.

01:19:16.800 --> 01:19:17.080
Is there

01:19:17.080 --> 01:19:18.680
an easier way to replace a processor?

01:19:19.020 --> 01:19:20.900
Instead of building all your relations

01:19:20.900 --> 01:19:23.160
and stuff, just change it?

01:19:23.400 --> 01:19:24.020
I guess not.

01:19:24.440 --> 01:19:25.800
Great question, Travis.

01:19:25.800 --> 01:19:26.500
Swap it out.

01:19:29.880 --> 01:19:31.760
Yeah, it would be amazing

01:19:31.760 --> 01:19:33.740
and keep those connections.

01:19:34.140 --> 01:19:35.260
So for you to

01:19:35.800 --> 01:19:37.480
replace a processor

01:19:37.480 --> 01:19:39.660
you have to

01:19:39.660 --> 01:19:41.880
delete the connections

01:19:41.880 --> 01:19:43.920
before you can delete the processor.

01:19:45.060 --> 01:19:46.240
So unfortunately

01:19:46.240 --> 01:19:47.780
there is not.

01:19:48.040 --> 01:19:49.760
But here's what I will do.

01:19:50.180 --> 01:19:52.080
I got three or four

01:19:52.080 --> 01:19:53.840
great suggestions from the

01:19:53.840 --> 01:19:55.020
last class

01:19:55.020 --> 01:19:57.160
and I've already submitted them

01:19:57.160 --> 01:19:59.400
to be built into the next version

01:19:59.400 --> 01:20:00.000
of NAFA.

01:20:00.620 --> 01:20:02.960
So I am making a note

01:20:02.960 --> 01:20:05.340
to make

01:20:05.340 --> 01:20:07.420
replacing a processor easier.

01:20:07.420 --> 01:20:09.180
That would be extremely cool.

01:20:09.740 --> 01:20:10.680
It would be.

01:20:11.060 --> 01:20:12.260
I'm trying to figure out how...

01:20:12.260 --> 01:20:16.320
It was, wasn't it?

01:20:16.660 --> 01:20:17.460
Imagine

01:20:17.460 --> 01:20:19.380
your flow is

01:20:19.380 --> 01:20:21.340
100 processors in length.

01:20:23.000 --> 01:20:23.760
Right?

01:20:24.460 --> 01:20:25.220
Exactly.

01:20:25.880 --> 01:20:27.180
That's why I'm not a developer.

01:20:27.720 --> 01:20:29.260
So that's why

01:20:29.260 --> 01:20:30.400
I also

01:20:31.300 --> 01:20:32.060
recommend

01:20:34.300 --> 01:20:35.340
let's build

01:20:35.340 --> 01:20:37.840
and test while we go through it

01:20:37.840 --> 01:20:39.500
because you do not

01:20:39.500 --> 01:20:41.640
want to get 100 processors deep

01:20:41.640 --> 01:20:43.080
and you've got to jerk

01:20:43.080 --> 01:20:45.100
20 of them out

01:20:45.100 --> 01:20:47.180
and replace them with another

01:20:47.180 --> 01:20:48.060
10 or 15.

01:20:49.200 --> 01:20:50.520
It's just chaotic.

01:20:51.380 --> 01:20:52.520
This is the beauty

01:20:52.520 --> 01:20:54.340
of workflow-based programming

01:20:54.340 --> 01:20:56.200
though, right? We don't have to

01:20:56.200 --> 01:20:57.980
code it to do this

01:20:57.980 --> 01:21:00.720
but there are nuances

01:21:01.480 --> 01:21:02.800
with this.

01:21:03.980 --> 01:21:04.380
But

01:21:04.380 --> 01:21:06.300
great suggestion and I will

01:21:06.300 --> 01:21:08.260
actually take that back

01:21:09.420 --> 01:21:10.500
to the

01:21:10.500 --> 01:21:12.200
NAFA committee to see if we can

01:21:12.200 --> 01:21:14.240
get that worked into some future versions.

01:21:14.680 --> 01:21:16.080
I'm trying to think through how

01:21:16.080 --> 01:21:19.200
you can do that but we'll figure it out.

01:21:19.620 --> 01:21:20.100
Any other

01:21:20.100 --> 01:21:21.940
questions on our first

01:21:21.940 --> 01:21:22.560
flow?

01:21:28.280 --> 01:21:30.060
Alright, well we're getting close

01:21:30.060 --> 01:21:32.060
to the end of the day. I need to go get something

01:21:32.060 --> 01:21:34.060
to drink and use the restroom real quickly.

01:21:34.420 --> 01:21:35.960
So instead of a 15 minute

01:21:35.960 --> 01:21:37.600
break, can we do 10

01:21:38.480 --> 01:21:38.960
and

01:21:39.940 --> 01:21:42.080
then we'll come back, kind of wrap

01:21:42.080 --> 01:21:44.020
up for the day and then

01:21:44.020 --> 01:21:46.080
I will see everyone tomorrow morning.

01:21:46.540 --> 01:21:47.380
So I have

01:21:47.380 --> 01:21:50.420
4.02. Let's come back

01:21:51.840 --> 01:21:52.020
at

01:21:52.640 --> 01:21:53.720
which is

01:21:53.720 --> 01:21:56.440
2.02, y'all's time. So let's do

01:21:56.440 --> 01:21:58.060
2.17

01:22:00.260 --> 01:22:01.860
and 4.

01:22:03.880 --> 01:22:05.640
We're only taking 10 minutes.

01:22:05.920 --> 01:22:07.000
12. Okay.

01:22:07.600 --> 01:22:10.340
I will see you all in 10 minutes.

01:22:10.800 --> 01:22:11.600
Perfect.

01:22:11.600 --> 01:22:13.800
And then let's wrap the day up.

01:22:13.820 --> 01:22:15.680
Let's get some questions. I do want to

01:22:15.680 --> 01:22:17.960
if you all went through your flows

01:22:17.960 --> 01:22:19.540
I'm going to bring them up

01:22:19.540 --> 01:22:21.620
and just kind of walk through them real quickly.

01:22:21.940 --> 01:22:23.400
Tomorrow we're going to be

01:22:23.400 --> 01:22:25.800
doing real flows with

01:22:25.800 --> 01:22:27.740
real controller services and those

01:22:27.740 --> 01:22:29.760
types of things. But I'll be back

01:22:29.760 --> 01:22:31.260
in just a minute.

01:22:31.940 --> 01:22:32.900
Awesome, thank you.

01:22:56.500 --> 01:22:57.660
Any suggestions

01:22:57.660 --> 01:22:59.300
you all have though, like

01:22:59.300 --> 01:23:01.620
I wish this was easier, that was easier.

01:23:01.740 --> 01:23:03.160
Please let me know.

01:23:04.060 --> 01:23:04.200
Those

01:23:06.320 --> 01:23:07.860
the last class

01:23:07.860 --> 01:23:09.400
had a few

01:23:09.400 --> 01:23:11.660
really good ones that I

01:23:11.660 --> 01:23:13.400
wasn't even thinking about.

01:23:16.240 --> 01:23:17.500
While I wait

01:23:17.500 --> 01:23:19.400
I'm going to pull up everyone's

01:23:20.200 --> 01:23:21.400
screen and kind of

01:23:23.000 --> 01:23:24.540
some high achievers.

01:23:24.800 --> 01:23:25.700
I was told this was

01:23:25.700 --> 01:23:27.260
a non-technical class.

01:23:28.540 --> 01:23:29.400
You guys are rocking it.

01:23:34.640 --> 01:23:35.720
Give everybody a couple more minutes

01:23:35.720 --> 01:23:37.520
to get back and then

01:23:37.520 --> 01:23:39.620
we will go through our first

01:23:39.620 --> 01:23:40.480
flow.

01:23:42.400 --> 01:23:43.120
Alright.

01:23:43.720 --> 01:23:45.780
Sorry, I'm just reading the

01:23:45.780 --> 01:23:47.540
decompressed and compressed

01:23:47.540 --> 01:23:49.480
content processor and seeing what

01:23:49.480 --> 01:23:51.520
changed because it

01:23:51.520 --> 01:23:53.520
should have decompressed but it looks like

01:23:54.580 --> 01:23:55.580
the MIME type is

01:23:55.580 --> 01:23:57.300
automatically detected and the data is

01:23:57.300 --> 01:23:59.380
decompressed if necessary.

01:24:00.700 --> 01:24:01.620
But there's no

01:24:01.620 --> 01:24:02.520
relationship.

01:24:06.940 --> 01:24:07.520
Okay.

01:24:09.960 --> 01:24:10.660
So we have

01:24:10.660 --> 01:24:12.620
a few minutes left of the day.

01:24:13.340 --> 01:24:14.700
We might be able to get out here a few minutes

01:24:14.700 --> 01:24:16.520
early but what I like to do is

01:24:16.520 --> 01:24:18.020
kind of go around the room.

01:24:18.320 --> 01:24:20.460
See how your first data flow

01:24:20.460 --> 01:24:22.320
went. Any

01:24:22.320 --> 01:24:24.420
major issues except for following

01:24:24.420 --> 01:24:26.020
my incorrect steps.

01:24:26.660 --> 01:24:28.540
Which kind of worked out because then

01:24:28.540 --> 01:24:30.380
we got to see how you replace

01:24:30.380 --> 01:24:32.680
these things and we also generated

01:24:32.680 --> 01:24:34.560
an error which I was hoping to do

01:24:34.560 --> 01:24:36.300
just so I can show

01:24:36.300 --> 01:24:38.320
where those errors look like

01:24:38.320 --> 01:24:39.640
and where they come from.

01:24:40.400 --> 01:24:42.380
So we will start with

01:24:43.200 --> 01:24:43.760
Tom.

01:24:44.920 --> 01:24:46.440
How did your first

01:24:46.440 --> 01:24:47.180
flow go, Tom?

01:24:49.100 --> 01:24:50.220
You were

01:24:50.220 --> 01:24:52.220
great at going through the steps

01:24:52.220 --> 01:24:54.120
and this was my first one.

01:24:54.320 --> 01:24:56.280
I've never even seen or touched

01:24:56.280 --> 01:24:58.140
well, I've seen it but I haven't done

01:24:58.140 --> 01:25:00.320
anything with it. This is my first

01:25:00.320 --> 01:25:03.220
experience hands on

01:25:03.220 --> 01:25:04.280
with it doing something with

01:25:04.280 --> 01:25:04.420
it.

01:25:06.000 --> 01:25:08.400
I think you explained things very well. It made it

01:25:08.400 --> 01:25:10.140
pretty easy. I still

01:25:10.140 --> 01:25:12.100
have some work to do on mine but I think

01:25:12.100 --> 01:25:14.380
I'll clean mine up and probably

01:25:14.380 --> 01:25:16.220
make mine more like yours

01:25:16.220 --> 01:25:18.520
and mess around with it after

01:25:18.520 --> 01:25:19.880
we're done for the day or whatever.

01:25:21.420 --> 01:25:22.380
That is

01:25:22.380 --> 01:25:24.440
what I want to hear. I'd love to hear

01:25:24.440 --> 01:25:26.200
that you've never

01:25:26.200 --> 01:25:27.260
touched this before.

01:25:28.120 --> 01:25:29.780
In your opinion,

01:25:30.800 --> 01:25:32.520
picking data up,

01:25:32.740 --> 01:25:34.360
decompressing it, putting in

01:25:34.360 --> 01:25:35.480
another spot,

01:25:36.560 --> 01:25:38.360
in my opinion, as someone

01:25:38.360 --> 01:25:39.580
who

01:25:40.200 --> 01:25:42.420
has never touched it before, I think this

01:25:42.420 --> 01:25:44.460
would be a lot easier

01:25:44.460 --> 01:25:46.360
than trying to

01:25:46.360 --> 01:25:48.400
write a script or something else

01:25:48.400 --> 01:25:49.140
but

01:25:50.200 --> 01:25:52.020
what is your overall take?

01:25:52.440 --> 01:25:54.180
What did you

01:25:54.180 --> 01:25:56.140
like? What did you dislike?

01:25:56.880 --> 01:25:58.580
How did it work out for you?

01:25:59.980 --> 01:26:00.380
I

01:26:00.820 --> 01:26:02.160
liked it a lot

01:26:02.160 --> 01:26:04.100
except for the thing that Travis

01:26:04.100 --> 01:26:05.120
brought up.

01:26:05.980 --> 01:26:07.920
I did the same thing as you. I replaced

01:26:07.920 --> 01:26:09.960
the decompress with the unpack

01:26:09.960 --> 01:26:11.360
content processor

01:26:12.280 --> 01:26:14.120
and you had to delete those

01:26:14.120 --> 01:26:15.480
relationships first and all that.

01:26:15.800 --> 01:26:18.300
It wasn't too bad but I could

01:26:18.300 --> 01:26:20.140
see where that would be

01:26:20.140 --> 01:26:22.240
tedious if you had to do that for a lot more than just

01:26:22.240 --> 01:26:22.880
one.

01:26:24.320 --> 01:26:26.240
I'm semi familiar with

01:26:27.240 --> 01:26:28.600
workflow type

01:26:28.600 --> 01:26:30.540
technologies like

01:26:30.540 --> 01:26:32.260
I did SharePoint a lot that had

01:26:32.260 --> 01:26:34.320
a workflow type thing tied behind

01:26:34.320 --> 01:26:36.340
it and even the stuff we use with

01:26:36.340 --> 01:26:38.320
power apps has a workflow, has a flow

01:26:38.320 --> 01:26:39.660
component to it.

01:26:40.440 --> 01:26:42.140
Like you mentioned, the

01:26:42.140 --> 01:26:44.280
flow way of doing things

01:26:44.280 --> 01:26:45.880
isn't anything new but

01:26:45.880 --> 01:26:48.140
this is definitely pretty cool.

01:26:48.480 --> 01:26:49.800
I can see a lot of value

01:26:49.800 --> 01:26:51.040
in this.

01:26:52.020 --> 01:26:53.920
Wait until tomorrow

01:26:53.920 --> 01:26:55.620
when we are taking the

01:26:55.620 --> 01:26:57.920
CSVs and JSON that you extracted

01:26:57.920 --> 01:27:00.080
and we're actually extracting

01:27:00.080 --> 01:27:02.200
CSV data and making

01:27:02.200 --> 01:27:03.640
it a JSON document.

01:27:07.760 --> 01:27:10.100
I don't give as much guidance

01:27:10.100 --> 01:27:12.200
on that flow

01:27:12.200 --> 01:27:14.220
because that one

01:27:14.220 --> 01:27:15.760
I kind of want it open to

01:27:15.760 --> 01:27:18.060
interpretation because there's a couple of different ways

01:27:18.060 --> 01:27:19.280
to do that.

01:27:20.020 --> 01:27:22.280
But no, overall, I think

01:27:22.280 --> 01:27:23.760
your flow looks great.

01:27:24.600 --> 01:27:26.220
If you're going to go through

01:27:26.220 --> 01:27:28.240
and start cleaning up, renaming

01:27:28.240 --> 01:27:29.120
the processors,

01:27:29.980 --> 01:27:32.140
you may even put in there

01:27:32.140 --> 01:27:34.060
put file into

01:27:34.060 --> 01:27:35.740
this directory or something

01:27:35.740 --> 01:27:37.020
as a name.

01:27:37.740 --> 01:27:40.320
You could see already

01:27:40.320 --> 01:27:42.340
with mine how I had

01:27:42.340 --> 01:27:44.380
10, 15 processors

01:27:44.380 --> 01:27:46.220
starting to stack up

01:27:46.220 --> 01:27:46.700
and

01:27:47.880 --> 01:27:49.720
it starts running together.

01:27:50.120 --> 01:27:51.480
So if you name it

01:27:51.480 --> 01:27:53.420
and you do that beautification,

01:27:53.740 --> 01:27:55.340
it just makes it a lot easier.

01:27:56.200 --> 01:27:57.900
I like hearing from people

01:27:57.900 --> 01:27:59.420
who have never touched

01:28:00.220 --> 01:28:01.860
NIFI and so

01:28:01.860 --> 01:28:03.140
great job.

01:28:03.460 --> 01:28:04.780
I think your flow looks great.

01:28:05.080 --> 01:28:06.380
I can't wait to see it cleaned up

01:28:06.380 --> 01:28:08.060
and then I think tomorrow

01:28:08.060 --> 01:28:10.740
you'll get into some deeper dive of this.

01:28:11.160 --> 01:28:12.960
We'll look at some products, some lineage

01:28:12.960 --> 01:28:15.120
and you're going to

01:28:15.120 --> 01:28:16.960
be a data engineer in the next couple

01:28:16.960 --> 01:28:17.460
of days.

01:28:18.540 --> 01:28:20.960
I was worried that this was going to be

01:28:21.640 --> 01:28:23.020
overkill with the slides and

01:28:23.020 --> 01:28:25.060
not enough hands on, but this has been

01:28:25.060 --> 01:28:27.240
to my surprise a lot better than

01:28:27.240 --> 01:28:28.100
what I was expecting.

01:28:28.620 --> 01:28:30.480
I don't know how else.

01:28:30.760 --> 01:28:32.940
I could go through the slides

01:28:33.940 --> 01:28:34.900
and swap

01:28:34.900 --> 01:28:37.020
back and forth between NIFI and that.

01:28:37.460 --> 01:28:38.680
So what I like to do

01:28:38.680 --> 01:28:40.720
and also, like I was in the army,

01:28:40.720 --> 01:28:42.720
I briefed generals and stuff

01:28:42.720 --> 01:28:44.320
all the time, so

01:28:44.320 --> 01:28:46.520
I understand PowerPoint

01:28:46.520 --> 01:28:47.580
by PowerPoint.

01:28:48.660 --> 01:28:50.680
So I like to do is just run through

01:28:50.680 --> 01:28:52.780
the terminology and then kind

01:28:52.780 --> 01:28:54.780
of repeat it as we go

01:28:54.780 --> 01:28:55.060
along.

01:28:57.240 --> 01:28:58.360
I promise

01:28:58.360 --> 01:29:00.780
we have only a little bit more PowerPoint

01:29:00.780 --> 01:29:02.720
to do, but most of the rest

01:29:02.720 --> 01:29:04.680
of the time we are going to be working

01:29:04.680 --> 01:29:06.580
because that's the best way to learn it.

01:29:07.500 --> 01:29:08.820
I agree. I love it.

01:29:08.820 --> 01:29:09.600
Thank you so much.

01:29:11.220 --> 01:29:12.180
All right.

01:29:12.280 --> 01:29:13.200
Darius, how are you doing?

01:29:15.940 --> 01:29:16.740
I had to restart

01:29:16.740 --> 01:29:18.940
my computer earlier, so I missed

01:29:18.940 --> 01:29:19.840
some of it.

01:29:21.340 --> 01:29:22.900
I pretty much just tried to

01:29:22.900 --> 01:29:24.800
mimic, I guess, what you were doing.

01:29:25.020 --> 01:29:26.420
I didn't get to all of it.

01:29:27.180 --> 01:29:27.900
Don't worry.

01:29:28.740 --> 01:29:30.660
What you want to do

01:29:30.660 --> 01:29:32.040
is git file.

01:29:32.600 --> 01:29:34.500
Do you have the

01:29:34.500 --> 01:29:36.560
zip file and everything

01:29:36.560 --> 01:29:38.780
you need? If you go to that folder,

01:29:40.840 --> 01:29:42.380
let's look at that.

01:29:42.900 --> 01:29:44.780
Go to downloads. Awesome.

01:29:45.640 --> 01:29:46.500
Yeah, you missed

01:29:46.500 --> 01:29:48.240
the part where we copied over.

01:29:48.440 --> 01:29:50.220
Actually, if you go to your desktop,

01:29:53.180 --> 01:29:53.360
and you

01:29:53.360 --> 01:29:54.420
go to your uploads,

01:29:55.140 --> 01:29:56.980
and just right click and say copy

01:29:56.980 --> 01:29:58.580
on the weather data, and then you go back

01:29:58.580 --> 01:29:59.420
to your downloads,

01:30:01.660 --> 01:30:02.960
and paste it.

01:30:03.260 --> 01:30:04.440
You can right click and paste.

01:30:05.560 --> 01:30:07.080
You'll have to do it more towards the bottom.

01:30:07.220 --> 01:30:08.020
There you go.

01:30:09.360 --> 01:30:10.520
Those are the

01:30:10.520 --> 01:30:12.580
and you can create any kind

01:30:12.580 --> 01:30:14.400
of folders you want, but if you

01:30:14.400 --> 01:30:16.660
extract weather data, just say extract all.

01:30:16.920 --> 01:30:17.820
There you go.

01:30:19.920 --> 01:30:20.540
That'll work.

01:30:20.620 --> 01:30:22.620
It's going to pop open a new window.

01:30:23.860 --> 01:30:24.520
If you click

01:30:24.520 --> 01:30:26.460
up in the address bar, instead of

01:30:26.460 --> 01:30:28.360
saying this PC downloads is going to give you

01:30:28.360 --> 01:30:30.600
the real path, now copy that

01:30:30.600 --> 01:30:31.240
path,

01:30:32.760 --> 01:30:33.420
and then

01:30:33.420 --> 01:30:34.820
go to your get file,

01:30:35.660 --> 01:30:37.280
right click, and do

01:30:37.280 --> 01:30:39.280
your properties, and then put

01:30:39.280 --> 01:30:41.600
that input directory, paste that in

01:30:41.600 --> 01:30:43.520
on your input directory, on the value

01:30:43.520 --> 01:30:45.300
of the input directory. First line.

01:30:45.520 --> 01:30:47.620
There you go. Paste that in.

01:30:48.320 --> 01:30:48.840
Okay.

01:30:49.840 --> 01:30:51.100
And apply. Alright.

01:30:51.240 --> 01:30:52.940
You see how it went from yellow to red?

01:30:53.180 --> 01:30:53.760
The processor?

01:30:56.240 --> 01:30:57.280
It was

01:30:57.280 --> 01:30:58.940
yellow like your log message.

01:30:58.940 --> 01:31:00.720
So, you know,

01:31:01.040 --> 01:31:02.900
if you can, just keep trying to work through

01:31:02.900 --> 01:31:03.600
this flow.

01:31:05.020 --> 01:31:06.960
I'll be happy to come back after I

01:31:06.960 --> 01:31:09.020
go through the others and work

01:31:09.020 --> 01:31:11.020
with you. You want

01:31:11.020 --> 01:31:13.060
to identify that MIME type.

01:31:13.180 --> 01:31:14.860
You want to unpack the content.

01:31:15.260 --> 01:31:16.960
And then you probably want to put

01:31:16.960 --> 01:31:18.060
the file.

01:31:21.140 --> 01:31:22.520
You identify the MIME type.

01:31:22.840 --> 01:31:24.360
Do you have the original?

01:31:25.340 --> 01:31:26.820
Or you auto

01:31:26.820 --> 01:31:28.240
terminate an original

01:31:28.240 --> 01:31:29.860
on the unpacked content?

01:31:30.680 --> 01:31:32.120
Let's look at your relationship.

01:31:32.200 --> 01:31:34.480
Because you have a relationship or something

01:31:34.480 --> 01:31:36.880
off because it's still yellow.

01:31:41.260 --> 01:31:42.240
Alright, hit cancel.

01:31:43.680 --> 01:31:44.940
Go to your unpacked

01:31:44.940 --> 01:31:46.520
content processor, not the

01:31:46.520 --> 01:31:48.440
connection. There you go.

01:31:48.720 --> 01:31:50.440
And let's look at relationships

01:31:50.440 --> 01:31:51.300
with that.

01:31:52.620 --> 01:31:54.420
And we need the original.

01:31:54.420 --> 01:31:55.380
So,

01:31:56.680 --> 01:31:58.260
you don't have it auto

01:31:58.260 --> 01:32:00.180
terminating. You can actually just say cancel.

01:32:00.580 --> 01:32:02.600
And let's, you got a put file

01:32:02.600 --> 01:32:04.080
for your success.

01:32:04.680 --> 01:32:06.360
Right click on your put file.

01:32:06.520 --> 01:32:08.540
Say copy. And then right click beside

01:32:08.540 --> 01:32:10.440
it until it's a paste. There you go.

01:32:10.520 --> 01:32:12.520
And then on your unpacked content,

01:32:12.920 --> 01:32:14.700
drag another connection

01:32:14.700 --> 01:32:16.720
to that and do

01:32:17.480 --> 01:32:18.520
the original.

01:32:20.160 --> 01:32:20.420
And then,

01:32:21.220 --> 01:32:22.180
you know, say original.

01:32:22.180 --> 01:32:24.480
And now it turned red

01:32:24.480 --> 01:32:25.760
and it's ready to go.

01:32:26.640 --> 01:32:28.340
So, the only thing you have left to do

01:32:28.340 --> 01:32:30.260
is figure out where you want

01:32:30.260 --> 01:32:31.900
to put the original file.

01:32:32.220 --> 01:32:34.340
Because you decided on the get

01:32:34.340 --> 01:32:35.600
files to

01:32:36.260 --> 01:32:37.880
not leave, you know,

01:32:37.960 --> 01:32:40.020
you're picking it up so it's not

01:32:40.020 --> 01:32:41.260
staying where it's at.

01:32:42.260 --> 01:32:44.200
So, you want to copy it

01:32:44.200 --> 01:32:46.220
to a new folder. And then

01:32:46.220 --> 01:32:48.160
also create a folder to put the

01:32:48.160 --> 01:32:49.660
weather data that is extracted.

01:32:49.660 --> 01:32:51.900
And so you want to put that in your

01:32:51.900 --> 01:32:53.760
put file. If you right click on

01:32:53.760 --> 01:32:55.860
your put file, you'll see, you know,

01:32:55.980 --> 01:32:57.760
directory again. And so you want

01:32:57.760 --> 01:32:59.500
to go back to that downloads folder.

01:32:59.960 --> 01:33:01.720
Create a new folder called,

01:33:01.720 --> 01:33:03.760
you know, original file.

01:33:04.120 --> 01:33:06.020
And put that directory in there.

01:33:06.100 --> 01:33:07.780
And create a new folder called,

01:33:07.780 --> 01:33:09.560
you know, unzipped weather data.

01:33:09.940 --> 01:33:11.720
And put that directory in

01:33:11.720 --> 01:33:13.960
the other put file. And then your

01:33:13.960 --> 01:33:15.580
flow should be good.

01:33:16.080 --> 01:33:17.680
You know, and then your long

01:33:17.680 --> 01:33:19.860
message, you might want to just auto terminate

01:33:19.860 --> 01:33:20.520
success.

01:33:22.100 --> 01:33:22.820
And then,

01:33:23.900 --> 01:33:26.080
you got the concept, I think.

01:33:26.420 --> 01:33:27.880
Try to plug that in. I'll come

01:33:27.880 --> 01:33:30.020
back to you at the end.

01:33:30.020 --> 01:33:31.960
See how, you know, how much

01:33:31.960 --> 01:33:33.740
progress you made. You know, the only

01:33:33.740 --> 01:33:35.800
other thing is you might want to think about

01:33:35.800 --> 01:33:37.680
like, you know, naming the

01:33:37.680 --> 01:33:39.600
processors, you know,

01:33:40.200 --> 01:33:41.840
real names that we can all

01:33:42.340 --> 01:33:44.020
understand, you know, mutifying

01:33:44.020 --> 01:33:45.900
and stuff like that. But, you

01:33:45.900 --> 01:33:48.100
know, overall, you know, I think you

01:33:48.100 --> 01:33:49.940
got it. So I'll come back to you and see how

01:33:49.940 --> 01:33:50.340
you're doing.

01:33:51.720 --> 01:33:53.200
All right, thanks. Yep, yep.

01:33:53.660 --> 01:33:54.920
All right.

01:33:55.320 --> 01:33:56.940
How are you?

01:33:58.800 --> 01:33:59.800
Hi, you doing good?

01:34:00.220 --> 01:34:02.180
How did your flow go?

01:34:04.060 --> 01:34:05.880
I think it's going fine.

01:34:06.960 --> 01:34:07.920
Everything went

01:34:07.920 --> 01:34:09.960
is working. The only thing

01:34:09.960 --> 01:34:12.240
I want to see is, like, if I

01:34:12.240 --> 01:34:13.980
make it fail once

01:34:13.980 --> 01:34:16.240
the file's unzipped,

01:34:16.480 --> 01:34:18.220
where do I see the log messages

01:34:18.220 --> 01:34:19.980
for that? Oh, yeah.

01:34:20.080 --> 01:34:21.820
We had that, if you remember.

01:34:22.100 --> 01:34:23.880
So it's set to

01:34:23.880 --> 01:34:25.980
failure. And so you can

01:34:25.980 --> 01:34:27.640
actually have that

01:34:27.640 --> 01:34:30.160
file send failure messages

01:34:30.160 --> 01:34:31.440
to your log message.

01:34:31.760 --> 01:34:34.080
But also, in that top right corner

01:34:34.080 --> 01:34:36.080
of the processor, remember mine

01:34:36.080 --> 01:34:37.720
had the little red box?

01:34:39.440 --> 01:34:40.180
In that little

01:34:40.180 --> 01:34:41.920
red box. Maybe that's why it's hiding.

01:34:41.920 --> 01:34:44.300
Well, you don't have it yet

01:34:44.300 --> 01:34:46.280
because you haven't had a failure.

01:34:47.180 --> 01:34:47.980
But it's,

01:34:48.020 --> 01:34:49.700
you know, in the

01:34:49.700 --> 01:34:51.960
actual processor. But I really,

01:34:51.960 --> 01:34:53.980
you know, I like what you're doing here, where you're

01:34:53.980 --> 01:34:55.820
sending the failure to the log

01:34:55.820 --> 01:34:57.820
message. And

01:34:57.820 --> 01:34:59.860
so, yeah,

01:34:59.920 --> 01:35:02.260
if you do have a failure because of

01:35:02.260 --> 01:35:04.080
the naming strategy, you have

01:35:04.080 --> 01:35:05.740
this failure. You can do ignore,

01:35:05.940 --> 01:35:07.920
you can do replace. But because you have

01:35:07.920 --> 01:35:09.940
failure, it should

01:35:09.940 --> 01:35:12.100
generate a little red box

01:35:12.100 --> 01:35:13.980
in the top right corner of the processor

01:35:13.980 --> 01:35:16.060
itself, letting you know

01:35:16.060 --> 01:35:18.240
that that file name already

01:35:18.240 --> 01:35:18.960
exists.

01:35:20.240 --> 01:35:22.380
And so, you know, to overcome

01:35:22.380 --> 01:35:24.080
that, you could

01:35:24.080 --> 01:35:26.100
rename the files in flight.

01:35:27.140 --> 01:35:28.020
And that way, when

01:35:28.020 --> 01:35:30.060
they go to a put file, it'll actually

01:35:30.060 --> 01:35:32.140
be a different file name. You could

01:35:32.140 --> 01:35:33.420
ignore the error.

01:35:34.100 --> 01:35:36.020
You can log it, you know, depending

01:35:36.020 --> 01:35:38.000
on your scenario and how you want to do

01:35:38.000 --> 01:35:39.560
things. Okay. So,

01:35:40.040 --> 01:35:42.060
so whatever icon

01:35:42.060 --> 01:35:43.860
or whatever message shows up

01:35:43.860 --> 01:35:45.900
will tell you like what actually happened

01:35:45.900 --> 01:35:47.240
because I haven't seen that yet.

01:35:47.640 --> 01:35:49.900
I'm just trying it right now. Let's run it.

01:35:49.920 --> 01:35:51.760
Let's do it. Let's do it. We got time.

01:35:51.980 --> 01:35:54.060
Let's see it.

01:35:54.280 --> 01:35:55.840
Not to put you on the spot. So you

01:35:55.840 --> 01:35:57.940
want to run the identify mine type once?

01:36:00.120 --> 01:36:00.720
Oh, okay.

01:36:02.220 --> 01:36:03.720
Refresh. It's kind of slow.

01:36:03.840 --> 01:36:06.100
Yeah, this virtual machine

01:36:06.100 --> 01:36:06.540
can

01:36:07.740 --> 01:36:10.280
you'll see me trying to adjust and

01:36:10.280 --> 01:36:11.900
click and everything else. Okay.

01:36:12.080 --> 01:36:13.340
So it's success.

01:36:13.760 --> 01:36:15.800
So let's unpack the content.

01:36:16.300 --> 01:36:17.780
So you have original. Okay.

01:36:17.880 --> 01:36:20.120
Run once. And now go to the

01:36:20.120 --> 01:36:21.520
canvas and say refresh.

01:36:24.640 --> 01:36:25.580
Sorry, refreshed.

01:36:26.360 --> 01:36:28.400
So the original message

01:36:28.400 --> 01:36:29.880
went to your put file

01:36:29.880 --> 01:36:32.120
on the left. The unzipped

01:36:32.120 --> 01:36:34.120
contents went to the bottom

01:36:34.120 --> 01:36:34.920
of the put file.

01:36:35.660 --> 01:36:38.120
And you should be able to say run once.

01:36:39.120 --> 01:36:40.160
Oh, you see the error?

01:36:40.340 --> 01:36:42.120
The top right button. There you go.

01:36:44.240 --> 01:36:46.200
Penalize because the same file name

01:36:46.200 --> 01:36:46.760
exists.

01:36:48.180 --> 01:36:50.120
Is this log saved somewhere

01:36:50.120 --> 01:36:52.360
else? Like in some

01:36:52.360 --> 01:36:53.540
log logging files?

01:36:53.660 --> 01:36:55.700
Yeah, it's in your nafi-at

01:36:55.700 --> 01:36:57.760
log that you opened up to get your username

01:36:57.760 --> 01:36:59.760
and password. So

01:36:59.760 --> 01:37:01.740
it's logging the messages

01:37:01.740 --> 01:37:03.460
there that are that is happening.

01:37:04.300 --> 01:37:05.620
And it's good.

01:37:06.540 --> 01:37:07.560
You know, you could

01:37:07.560 --> 01:37:09.900
if you're familiar with Linux, you can tell

01:37:09.900 --> 01:37:11.760
the log. You can also tell the log in

01:37:11.760 --> 01:37:14.000
Windows. But if you go back

01:37:14.000 --> 01:37:15.840
to your go back a directory that your bin

01:37:15.840 --> 01:37:17.820
directory. So that's where you

01:37:17.820 --> 01:37:20.060
your executables are. Go to logs.

01:37:20.660 --> 01:37:21.740
There you go.

01:37:22.560 --> 01:37:23.320
Open up logs.

01:37:23.800 --> 01:37:25.840
Go ahead and open up that nafi-app.

01:37:26.300 --> 01:37:27.820
Yeah, no worries. Go ahead and open up

01:37:27.820 --> 01:37:29.520
nafi-app. That one.

01:37:29.520 --> 01:37:30.520
Just open it.

01:37:30.920 --> 01:37:33.480
Scroll all the way down.

01:37:33.800 --> 01:37:35.000
Man, don't highlight it all.

01:37:35.100 --> 01:37:37.300
That's a pretty good size log already.

01:37:39.260 --> 01:37:39.500
You

01:37:39.500 --> 01:37:41.660
should see, scroll up

01:37:41.660 --> 01:37:43.800
a little bit, your warn right there.

01:37:44.240 --> 01:37:45.740
See, you have a warn.

01:37:47.240 --> 01:37:47.540
Yep.

01:37:48.700 --> 01:37:49.720
Standard put file with

01:37:49.720 --> 01:37:51.740
an ID. It's penalizing the standard

01:37:51.740 --> 01:37:53.180
flow. Scroll all the way to the right.

01:37:53.280 --> 01:37:54.360
There you go.

01:37:55.960 --> 01:37:57.840
Yeah, and it gives you

01:37:57.840 --> 01:37:59.980
a lot of information.

01:38:00.060 --> 01:38:01.960
A lot more information than just that

01:38:01.960 --> 01:38:02.880
little red box.

01:38:04.320 --> 01:38:05.940
But because you are sending

01:38:05.940 --> 01:38:07.880
that failure to the log

01:38:07.880 --> 01:38:10.100
message is the reason you have it.

01:38:10.220 --> 01:38:11.920
If you did not, it

01:38:11.920 --> 01:38:14.200
would just have a failure on the

01:38:14.200 --> 01:38:15.900
screen and it would not

01:38:15.900 --> 01:38:16.740
go to the log.

01:38:19.300 --> 01:38:19.860
Alright.

01:38:21.020 --> 01:38:21.980
So was this

01:38:21.980 --> 01:38:23.840
your first time of

01:38:25.580 --> 01:38:26.140
working

01:38:26.140 --> 01:38:28.060
with nafi or have you already

01:38:28.060 --> 01:38:29.060
played with it before?

01:38:30.340 --> 01:38:31.680
No, this is my first time too.

01:38:31.880 --> 01:38:33.960
Oh, nice, nice. And what were your

01:38:33.960 --> 01:38:34.340
thoughts?

01:38:36.300 --> 01:38:38.080
I think this could be really

01:38:38.080 --> 01:38:38.680
powerful.

01:38:39.820 --> 01:38:41.720
Because you can do

01:38:41.720 --> 01:38:43.700
things so granular and

01:38:43.700 --> 01:38:45.620
modify and

01:38:46.140 --> 01:38:47.840
control where data

01:38:47.840 --> 01:38:49.520
can go and how you log it.

01:38:50.440 --> 01:38:52.180
Yeah, I'm looking forward to it.

01:38:52.380 --> 01:38:52.940
Okay.

01:38:53.520 --> 01:38:55.320
You're going to get into

01:38:55.320 --> 01:38:57.240
some difficult ones tomorrow.

01:38:59.560 --> 01:39:01.000
Richard, how did it go?

01:39:02.400 --> 01:39:03.280
As you can tell,

01:39:03.340 --> 01:39:04.640
I was doing a lot of experimenting.

01:39:06.540 --> 01:39:07.280
I started

01:39:07.280 --> 01:39:09.180
off with some files, primarily

01:39:09.180 --> 01:39:11.180
images. For the most

01:39:11.180 --> 01:39:13.020
part, I did try to figure with the compressed

01:39:13.020 --> 01:39:15.000
content and I was

01:39:15.000 --> 01:39:16.740
trying to change some settings there.

01:39:17.700 --> 01:39:18.880
My first time,

01:39:18.980 --> 01:39:20.520
definitely aware of it.

01:39:20.520 --> 01:39:22.760
Having had to do the process of

01:39:22.760 --> 01:39:24.540
really moving any

01:39:24.540 --> 01:39:26.480
files. For the most part, I was

01:39:26.480 --> 01:39:28.520
experimenting to see

01:39:29.240 --> 01:39:30.640
the settings of each

01:39:30.640 --> 01:39:32.580
of these. If

01:39:32.580 --> 01:39:34.500
I changed it from zip, what would it do

01:39:34.500 --> 01:39:35.420
differently, I guess.

01:39:37.040 --> 01:39:38.340
So I guess it was more

01:39:38.340 --> 01:39:39.300
tinkering than anything.

01:39:40.820 --> 01:39:42.480
I know someone asked it, but I

01:39:42.480 --> 01:39:44.660
missed it. Unfortunately, I didn't

01:39:44.660 --> 01:39:46.560
see how you can draw in the background.

01:39:48.620 --> 01:39:49.180
I guess.

01:39:49.180 --> 01:39:50.240
Up on your toolbar,

01:39:51.960 --> 01:39:52.620
go up

01:39:52.620 --> 01:39:54.500
and the last one

01:39:54.500 --> 01:39:56.420
should be labeled.

01:39:57.440 --> 01:39:58.000
Up here?

01:39:58.140 --> 01:40:00.500
Yep. Click and drag it down.

01:40:00.600 --> 01:40:01.960
That's what I was

01:40:01.960 --> 01:40:02.420
expecting.

01:40:03.400 --> 01:40:06.400
Double click it.

01:40:07.640 --> 01:40:08.640
Then you can change

01:40:08.640 --> 01:40:10.760
the value. You can actually name it.

01:40:10.760 --> 01:40:12.560
You can put a name, you can put a font size,

01:40:13.540 --> 01:40:14.580
all those things.

01:40:14.580 --> 01:40:16.200
But I am glad

01:40:16.200 --> 01:40:18.340
this is also why

01:40:18.340 --> 01:40:20.600
for the

01:40:20.600 --> 01:40:22.160
class to run wild.

01:40:22.720 --> 01:40:24.340
Because you brought up a point

01:40:24.340 --> 01:40:26.700
that I can show right now.

01:40:27.040 --> 01:40:29.020
So non-fi is configured

01:40:29.840 --> 01:40:30.600
to

01:40:30.600 --> 01:40:32.820
handle a max queue size

01:40:32.820 --> 01:40:34.840
of 10,000 files

01:40:34.840 --> 01:40:36.160
or 1 gig.

01:40:36.540 --> 01:40:38.420
Now that is configurable

01:40:38.420 --> 01:40:39.560
in the properties.

01:40:40.040 --> 01:40:42.620
So you have 10,000 files

01:40:42.620 --> 01:40:44.700
in your queue on that

01:40:44.700 --> 01:40:45.640
put file, right?

01:40:46.300 --> 01:40:48.860
So what's going to happen is

01:40:48.860 --> 01:40:50.800
the queue that's before

01:40:50.800 --> 01:40:52.580
that previous processor

01:40:52.580 --> 01:40:54.600
is going to start filling up

01:40:54.600 --> 01:40:55.240
as well.

01:40:55.860 --> 01:40:58.600
And it's going to continue trying to

01:40:58.600 --> 01:41:00.700
process data as much as it

01:41:00.700 --> 01:41:02.620
can. So when that unpack

01:41:02.620 --> 01:41:04.220
content to put file,

01:41:04.540 --> 01:41:06.400
when that gets over 1 gig

01:41:06.400 --> 01:41:08.020
or 10,000 files,

01:41:08.360 --> 01:41:09.600
it's going to back up.

01:41:09.600 --> 01:41:11.820
And so what happens is it will start

01:41:11.820 --> 01:41:13.560
backing up the whole system.

01:41:15.140 --> 01:41:15.700
So

01:41:15.700 --> 01:41:17.980
you need to clear your queue

01:41:17.980 --> 01:41:19.920
so the rest of them will start clearing

01:41:19.920 --> 01:41:20.480
itself.

01:41:22.180 --> 01:41:22.620
But

01:41:23.980 --> 01:41:25.100
any questions,

01:41:25.520 --> 01:41:26.360
issues or anything?

01:41:27.460 --> 01:41:29.320
Any, what do you think?

01:41:30.980 --> 01:41:31.660
No, definitely

01:41:33.460 --> 01:41:35.060
kind of value here.

01:41:35.460 --> 01:41:36.560
I was just kind of experimenting

01:41:37.420 --> 01:41:39.020
with some use cases on my end.

01:41:39.100 --> 01:41:41.000
Actually, I started off with some images

01:41:41.760 --> 01:41:42.980
who first started.

01:41:44.260 --> 01:41:44.960
And then

01:41:44.960 --> 01:41:46.660
I started following

01:41:46.660 --> 01:41:48.620
the content more closely and then I started going down

01:41:48.620 --> 01:41:50.000
this road. But even then I was just grooming

01:41:50.000 --> 01:41:52.760
quite a bit. So more understanding

01:41:52.760 --> 01:41:54.600
of these settings and just

01:41:54.600 --> 01:41:56.160
trying to understand the behavior as well.

01:41:56.680 --> 01:41:58.560
But definitely love it. I could see

01:41:59.260 --> 01:42:00.400
a lot of use cases

01:42:01.040 --> 01:42:02.780
and looking forward to learning

01:42:02.780 --> 01:42:03.300
some more.

01:42:03.300 --> 01:42:04.480
All right.

01:42:05.360 --> 01:42:06.340
Good deal. Leroy.

01:42:11.560 --> 01:42:13.640
You have a

01:42:13.640 --> 01:42:15.380
failure. But it looks like

01:42:15.380 --> 01:42:16.320
everything is running.

01:42:17.020 --> 01:42:19.380
Are you there, Leroy? I will come back

01:42:19.380 --> 01:42:21.200
to Leroy. But it looks like

01:42:21.200 --> 01:42:22.360
he's got it going.

01:42:23.660 --> 01:42:23.820
Peter.

01:42:25.440 --> 01:42:27.000
Leroy has mic issues.

01:42:27.420 --> 01:42:28.800
All right. Perfect.

01:42:29.560 --> 01:42:31.200
We can come back. Peter,

01:42:31.200 --> 01:42:33.420
how did it go?

01:42:33.800 --> 01:42:35.660
I followed along with yours

01:42:35.660 --> 01:42:36.840
for the most part.

01:42:37.420 --> 01:42:39.160
Mine at the bottom, the put files

01:42:39.160 --> 01:42:41.080
were supposed to be putting the unzipped files

01:42:41.080 --> 01:42:43.580
into the folder. It has a triangle

01:42:43.580 --> 01:42:45.320
on it. When I right click that triangle

01:42:45.320 --> 01:42:46.540
it says invalid.

01:42:48.200 --> 01:42:49.120
Valid up here.

01:42:49.180 --> 01:42:50.320
I don't know what that means.

01:42:51.440 --> 01:42:52.480
Hit cancel.

01:42:54.020 --> 01:42:55.320
And then hover over

01:42:55.320 --> 01:42:57.260
the little yellow yield beside the

01:42:57.260 --> 01:42:59.700
put file. So you do not have

01:42:59.700 --> 01:43:01.240
a success relationship

01:43:01.240 --> 01:43:03.480
or a failure relationship

01:43:03.480 --> 01:43:04.840
on your put file.

01:43:05.780 --> 01:43:07.420
So either, you know,

01:43:07.420 --> 01:43:09.520
if it fails, you may want to send

01:43:09.520 --> 01:43:11.140
that to a log message

01:43:11.700 --> 01:43:13.460
and auto terminate.

01:43:13.780 --> 01:43:15.400
And you may want to just go ahead and

01:43:15.400 --> 01:43:17.140
just say auto terminate success.

01:43:17.300 --> 01:43:19.380
So right click on put file

01:43:19.380 --> 01:43:21.400
and say configure.

01:43:23.340 --> 01:43:25.840
And then you can say auto terminate

01:43:25.840 --> 01:43:26.900
on success.

01:43:27.820 --> 01:43:28.860
And then

01:43:28.860 --> 01:43:31.220
failure, you can terminate

01:43:31.220 --> 01:43:32.220
as well.

01:43:32.480 --> 01:43:35.000
Or you can send it to your

01:43:35.000 --> 01:43:35.840
log message.

01:43:37.340 --> 01:43:39.120
So if you want, click on the

01:43:39.120 --> 01:43:41.200
put file, drag it to your log message.

01:43:43.060 --> 01:43:44.380
And say failure.

01:43:46.220 --> 01:43:47.200
And say add.

01:43:47.860 --> 01:43:48.820
And your put file

01:43:48.820 --> 01:43:50.580
now is turned red.

01:43:50.820 --> 01:43:51.780
And it's ready to go.

01:43:53.140 --> 01:43:53.720
Perfect.

01:43:53.720 --> 01:43:55.900
And then same thing for the one over here.

01:43:55.920 --> 01:43:57.860
Yeah, hover over. Let's take a look.

01:43:59.140 --> 01:43:59.340
Yep.

01:43:59.420 --> 01:44:01.640
It's your relationships. And that's usually what

01:44:01.640 --> 01:44:03.260
it is. Or you're missing

01:44:03.260 --> 01:44:05.160
something that is required.

01:44:06.560 --> 01:44:07.560
But besides

01:44:07.560 --> 01:44:09.460
that, you know, what did you think?

01:44:10.240 --> 01:44:11.740
Yeah, it seems pretty straightforward.

01:44:12.040 --> 01:44:13.720
It's definitely easy to follow along with your class.

01:44:16.660 --> 01:44:17.860
I've had issues

01:44:17.860 --> 01:44:19.500
with the virtual environment,

01:44:19.700 --> 01:44:21.320
but no issues with the

01:44:21.320 --> 01:44:21.620
butterfly.

01:44:22.900 --> 01:44:25.280
The virtual environment crashed on me at one point.

01:44:25.360 --> 01:44:27.180
I had to restart that. And it's just been running

01:44:27.180 --> 01:44:28.200
really slowly.

01:44:30.700 --> 01:44:31.180
Yeah,

01:44:31.380 --> 01:44:33.340
that's the biggest thing I hear

01:44:33.340 --> 01:44:35.220
is the latency sometimes.

01:44:35.220 --> 01:44:37.240
Because you'll point and click and then it never

01:44:37.240 --> 01:44:39.320
responds. And then you'll get

01:44:39.320 --> 01:44:41.200
it clicked and then

01:44:41.200 --> 01:44:43.020
it responds after a second.

01:44:43.080 --> 01:44:44.760
And you're already working on something else.

01:44:45.500 --> 01:44:47.320
I totally get it.

01:44:48.720 --> 01:44:49.080
You know,

01:44:49.080 --> 01:44:51.080
some of the same issues crept up before.

01:44:52.340 --> 01:44:53.400
So if Maria's on the

01:44:53.400 --> 01:44:55.340
call, I think hopefully she's taking

01:44:55.340 --> 01:44:57.240
notes. But

01:44:57.240 --> 01:44:59.180
I totally get it. Was this

01:44:59.180 --> 01:45:01.200
your first time with

01:45:02.160 --> 01:45:02.640
NaFi?

01:45:03.160 --> 01:45:04.660
Oh, awesome. Awesome.

01:45:04.980 --> 01:45:07.040
Well, it looks like you kind of run through well.

01:45:07.800 --> 01:45:09.260
You know, you can continue working on

01:45:09.260 --> 01:45:10.980
this. I would just, you know, as tips,

01:45:11.240 --> 01:45:13.000
I would just clean things up.

01:45:13.160 --> 01:45:14.960
You know, make sure you name your

01:45:14.960 --> 01:45:17.400
processor or something easily understandable.

01:45:17.400 --> 01:45:19.640
You know, you know how to plot labels

01:45:19.640 --> 01:45:21.240
and things like that.

01:45:21.260 --> 01:45:23.520
You know, you get this ready for production.

01:45:23.780 --> 01:45:25.620
So any questions

01:45:25.620 --> 01:45:27.800
I can answer for you?

01:45:28.880 --> 01:45:29.680
No, not

01:45:29.680 --> 01:45:30.740
right now. Thank you.

01:45:33.600 --> 01:45:35.720
Travis with a great suggestion

01:45:35.720 --> 01:45:36.960
of replacing

01:45:36.960 --> 01:45:37.860
processors.

01:45:37.860 --> 01:45:41.180
That was probably my only major

01:45:41.180 --> 01:45:43.600
hang up. Sorry, I'm looking at

01:45:43.600 --> 01:45:44.720
Splunk related things.

01:45:45.340 --> 01:45:46.500
There's Splunk processors.

01:45:46.720 --> 01:45:48.800
There's a lot of good Splunk processors.

01:45:49.440 --> 01:45:50.820
Yeah, I'm the Splunk guy

01:45:50.820 --> 01:45:52.200
from YPG, so I was just looking.

01:45:52.260 --> 01:45:54.140
Oh, nice, nice.

01:45:56.040 --> 01:45:56.960
But your

01:45:57.760 --> 01:45:59.120
test, it

01:45:59.120 --> 01:45:59.820
worked well.

01:46:00.880 --> 01:46:02.660
I got to work, and no issue. Well, I had

01:46:02.660 --> 01:46:04.740
to do that first, but

01:46:04.740 --> 01:46:06.460
it was because I was not replacing

01:46:07.220 --> 01:46:09.080
files, so that was easy to fix.

01:46:10.300 --> 01:46:10.760
This is

01:46:10.760 --> 01:46:12.400
my first time using NaFi.

01:46:12.400 --> 01:46:14.400
I have watched my lead use it.

01:46:15.400 --> 01:46:16.400
So, a little bit

01:46:17.080 --> 01:46:18.200
starting knowledge with that.

01:46:19.660 --> 01:46:20.500
Yeah, it's great.

01:46:20.660 --> 01:46:22.940
I love it. I can't wait to use it for other things.

01:46:23.300 --> 01:46:24.400
Perfect, perfect. Yeah, there's

01:46:25.100 --> 01:46:26.620
you know, if you get home tonight

01:46:26.620 --> 01:46:28.620
and you come back tomorrow and say, hey, Josh

01:46:28.620 --> 01:46:30.560
do you know that there's a processor for

01:46:30.560 --> 01:46:31.980
this? Let me know.

01:46:32.380 --> 01:46:34.780
I like hearing that like, oh, I'm the Splunk

01:46:34.780 --> 01:46:36.900
guy, because we have Splunk processors.

01:46:37.120 --> 01:46:38.580
There's processors for

01:46:38.580 --> 01:46:40.540
all kinds of things. So

01:46:40.540 --> 01:46:42.680
I'd love to hear about some of the tech you're trying

01:46:42.680 --> 01:46:43.460
to connect to.

01:46:44.840 --> 01:46:45.760
Is there a

01:46:46.700 --> 01:46:48.800
I don't want to say third party, but

01:46:48.800 --> 01:46:50.660
like processes that you can

01:46:50.660 --> 01:46:52.940
load into NaFi that might not be

01:46:52.940 --> 01:46:54.500
like come with the install?

01:46:55.580 --> 01:46:56.600
Like a library somewhere?

01:46:58.300 --> 01:46:58.880
You

01:46:58.880 --> 01:47:01.020
could load up

01:47:01.020 --> 01:47:02.580
like some data flows,

01:47:03.260 --> 01:47:04.580
like pre-built data flows,

01:47:04.620 --> 01:47:06.680
and I know that like

01:47:06.680 --> 01:47:08.880
InfluxDB has

01:47:08.880 --> 01:47:10.500
a template

01:47:11.100 --> 01:47:13.020
that they ship with

01:47:13.020 --> 01:47:15.080
their processors as well

01:47:15.080 --> 01:47:16.860
that you could load up that

01:47:16.860 --> 01:47:19.220
would help you get data into Influx.

01:47:20.680 --> 01:47:20.800
But

01:47:20.800 --> 01:47:23.360
you know, I

01:47:23.360 --> 01:47:25.020
I don't think that there's

01:47:25.020 --> 01:47:27.240
you know, I've never seen anything like

01:47:27.240 --> 01:47:28.980
you know, if you're asking for

01:47:28.980 --> 01:47:30.880
like a pre-built flow where you just need to

01:47:31.520 --> 01:47:32.960
you know, manage the

01:47:32.960 --> 01:47:34.880
in and out. I haven't seen

01:47:34.880 --> 01:47:37.000
anything like that, but I will definitely

01:47:37.000 --> 01:47:38.440
take a look around and see.

01:47:39.340 --> 01:47:40.980
Yeah, I'll take a look around

01:47:40.980 --> 01:47:42.560
and see. I was just not sure you were seeking

01:47:42.560 --> 01:47:45.240
you up top here. No. Alright. Good deal.

01:47:46.200 --> 01:47:46.680
Alright.

01:47:47.080 --> 01:47:49.380
And then that was Travis.

01:47:49.980 --> 01:47:51.320
We are going back

01:47:52.760 --> 01:47:53.240
to

01:47:53.780 --> 01:47:54.940
Odaris? Was it

01:47:54.940 --> 01:47:56.940
were you having a microphone issue? Oh no, I think

01:47:56.940 --> 01:47:57.760
that was someone else.

01:47:58.820 --> 01:48:01.260
It wasn't you. Leroy, Leroy, right?

01:48:02.340 --> 01:48:02.820
Here it comes.

01:48:03.360 --> 01:48:04.200
You guys coming?

01:48:04.200 --> 01:48:06.500
I can. Yep. I remember now

01:48:06.500 --> 01:48:09.840
you had the mic issue. How did it go?

01:48:10.520 --> 01:48:10.660
It went

01:48:10.660 --> 01:48:12.220
well. I was able to keep up with the example.

01:48:12.880 --> 01:48:14.440
I appreciate having to work

01:48:14.440 --> 01:48:16.360
through the errors. So that

01:48:16.360 --> 01:48:18.320
was a good value add. Awesome.

01:48:18.680 --> 01:48:20.040
I had to anchor with an

01:48:20.040 --> 01:48:22.300
i5 flow, but it was like the first time

01:48:22.300 --> 01:48:24.420
building from scratch. Okay.

01:48:24.620 --> 01:48:26.320
Good deal. And I guess to be looking

01:48:26.320 --> 01:48:28.160
at the custom processors

01:48:28.160 --> 01:48:30.340
so we can kind of implement some machine

01:48:30.340 --> 01:48:32.160
learning models. Something crazy.

01:48:32.960 --> 01:48:33.480
Awesome.

01:48:34.520 --> 01:48:36.340
Let me note that there is

01:48:36.340 --> 01:48:37.880
a TensorFlow

01:48:37.880 --> 01:48:40.160
processors. I have a friend who

01:48:41.640 --> 01:48:42.160
develops

01:48:42.160 --> 01:48:44.160
a lot of custom processors and then

01:48:44.720 --> 01:48:47.540
puts them out on GitHub. So

01:48:47.540 --> 01:48:48.700
let me

01:48:48.700 --> 01:48:50.300
write that down. I'll throw you some

01:48:50.300 --> 01:48:52.180
points. You know, it's not

01:48:52.180 --> 01:48:54.300
necessarily part of the official

01:48:54.300 --> 01:48:56.420
NaFi package and training.

01:48:56.420 --> 01:48:58.320
But I definitely want to send you some

01:48:58.320 --> 01:49:00.420
stuff that would put you in the right direction.

01:49:00.420 --> 01:49:02.480
Yeah, I figured something that exists already where you can

01:49:02.480 --> 01:49:04.380
just kind of plug in your

01:49:04.380 --> 01:49:06.000
PyTorch modeler.

01:49:07.880 --> 01:49:08.840
Yeah, there's

01:49:08.840 --> 01:49:10.540
quite a bit. And there's ways

01:49:10.540 --> 01:49:12.640
to run Python and NaFi

01:49:12.640 --> 01:49:14.500
that we are going to get to tomorrow.

01:49:15.180 --> 01:49:16.800
If you look at your processors,

01:49:17.260 --> 01:49:18.840
there is an execute script

01:49:18.840 --> 01:49:20.840
and an execute process.

01:49:21.920 --> 01:49:22.540
So, you know,

01:49:22.580 --> 01:49:23.660
just a tidbit.

01:49:24.580 --> 01:49:26.220
I will, you know, this goes for everyone.

01:49:26.860 --> 01:49:28.460
Tomorrow during the, you know,

01:49:28.460 --> 01:49:30.520
some of the hands-on scenarios, I'm

01:49:30.520 --> 01:49:32.680
not going to tell you every processor

01:49:32.680 --> 01:49:33.980
you need to use.

01:49:34.720 --> 01:49:36.400
You know, the goal is to look

01:49:36.400 --> 01:49:38.480
through the processors and determine

01:49:38.480 --> 01:49:40.180
what best suits you.

01:49:41.080 --> 01:49:42.520
So, you know,

01:49:42.720 --> 01:49:44.200
if you get a free minute

01:49:44.200 --> 01:49:46.020
later today or tomorrow,

01:49:46.600 --> 01:49:48.320
it might, you know, it might be

01:49:48.320 --> 01:49:50.360
good and beneficial just to kind of skim

01:49:50.360 --> 01:49:52.440
the processor list and say, you

01:49:52.440 --> 01:49:54.440
know, kind of look at the groups of them

01:49:54.440 --> 01:49:55.820
and how they can help you.

01:49:55.820 --> 01:49:58.320
But any issues, Leroy,

01:49:59.440 --> 01:50:00.720
or, you know,

01:50:00.940 --> 01:50:02.080
any answers or

01:50:02.080 --> 01:50:03.440
any other questions I can answer?

01:50:06.500 --> 01:50:07.320
I think that's it for now.

01:50:07.660 --> 01:50:08.640
Okay, perfect.

01:50:10.060 --> 01:50:11.180
Alright, well,

01:50:11.540 --> 01:50:13.500
I think we had a great day.

01:50:14.640 --> 01:50:15.380
I think

01:50:15.380 --> 01:50:17.840
overall, you know, everyone

01:50:17.840 --> 01:50:19.880
got it installed. It was not,

01:50:20.000 --> 01:50:21.960
you know, I don't think there was a lot of

01:50:21.960 --> 01:50:23.560
difficulty getting it installed.

01:50:23.560 --> 01:50:25.980
I don't think there was many issues

01:50:25.980 --> 01:50:27.880
there. We got it up

01:50:27.880 --> 01:50:30.100
and running. We got our flows.

01:50:31.020 --> 01:50:31.820
You know, tomorrow

01:50:31.820 --> 01:50:33.880
we're going to get registry running.

01:50:33.960 --> 01:50:35.660
We're going to check our flows in

01:50:35.660 --> 01:50:38.080
and we're going to build some more. So,

01:50:38.100 --> 01:50:39.780
you know, a lot of cool things

01:50:39.780 --> 01:50:41.720
there. If you

01:50:41.720 --> 01:50:43.940
have any questions or anything else, let me know.

01:50:43.980 --> 01:50:45.840
Feel free to continue working

01:50:45.840 --> 01:50:47.980
on this. But,

01:50:48.140 --> 01:50:49.920
you know, I think

01:50:49.920 --> 01:50:53.540
you all are off to a

01:50:53.540 --> 01:50:54.340
good start. If you need anything,

01:50:54.540 --> 01:50:56.440
just let me know. But I'm going to go ahead

01:50:56.440 --> 01:50:57.900
and end the training for today

01:50:58.780 --> 01:51:00.180
and run to Costco

01:51:00.180 --> 01:51:02.560
real quick. And so,

01:51:02.560 --> 01:51:04.800
you know, if you need anything, let me know. But

01:51:04.800 --> 01:51:07.400
we will see each other again

01:51:07.400 --> 01:51:08.080
tomorrow morning.

01:51:09.460 --> 01:51:10.720
That's good. Thanks, Joshua.

01:51:11.040 --> 01:51:12.040
Yep. Hey, thanks, guys.

01:51:46.480 --> 01:51:47.360
Hey.

01:51:47.660 --> 01:51:48.880
Hey, I called you on Teams

01:51:49.540 --> 01:51:51.000
and your cell phone.

01:51:52.000 --> 01:51:53.380
Just giving you a call

01:51:53.380 --> 01:51:55.060
back. But if you can,

01:51:55.100 --> 01:51:56.800
give me a call back.

01:51:57.020 --> 01:51:58.840
Here on my cell phone.

01:52:15.380 --> 01:52:15.900
Yo.

01:52:17.700 --> 01:52:18.580
They look well.

01:52:18.580 --> 01:52:19.960
That's good.

01:52:20.640 --> 01:52:22.400
The class is like, damn,

01:52:22.420 --> 01:52:23.180
I really like this.

01:52:26.380 --> 01:52:28.820
If the crane company cannot,

01:52:29.860 --> 01:52:30.700
I have

01:52:30.700 --> 01:52:31.740
a backup.

01:52:33.100 --> 01:52:34.300
Get warm in here now.

01:52:35.700 --> 01:52:36.660
Towards the end of the day, it

01:52:36.660 --> 01:52:37.600
warms up.

01:52:38.720 --> 01:52:40.500
There is a dead

01:52:40.500 --> 01:52:42.740
baby bunny from your

01:52:43.340 --> 01:52:43.920
dog.

01:52:44.120 --> 01:52:46.580
He went out and went straight for it,

01:52:46.580 --> 01:52:47.480
in his mouth.

01:52:48.300 --> 01:52:49.800
And then I said, oh, Dodo.

01:52:50.420 --> 01:52:52.340
And he dropped it and he came back.

01:52:52.420 --> 01:52:54.500
He will keep going back to the same

01:52:54.500 --> 01:52:55.720
spot until he picks it up.

01:52:55.880 --> 01:52:57.860
So I'm going to pick it up and throw it away tonight.

01:52:58.320 --> 01:52:58.620
Dodo.

01:52:59.860 --> 01:53:01.160
That baby bunny, what was that?

01:53:02.880 --> 01:53:04.860
Oh, that baby bunny.

01:53:12.340 --> 01:53:13.680
Are you ready to go?

01:53:42.260 --> 01:53:43.660
Let's go.

01:53:49.060 --> 01:53:51.860
Let's go.

01:54:46.260 --> 01:54:46.980
Oh,

01:54:47.460 --> 01:54:48.260
thank you.

01:54:48.520 --> 01:54:49.680
I'm going to go to your house.

01:54:57.120 --> 01:54:57.480
Now,

01:54:57.580 --> 01:54:59.880
I'm going to go to your place.

01:55:07.980 --> 01:55:08.580
Nothing.

01:55:08.580 --> 01:55:09.060
Nothing.

01:55:12.620 --> 01:55:13.300
Nothing.

01:55:24.080 --> 01:55:25.480
Yeah.

01:55:44.460 --> 01:55:45.860
Yeah.

01:56:08.580 --> 01:56:08.840
Nothing.

01:56:11.920 --> 01:56:12.580
Yeah.

01:56:14.820 --> 01:56:16.180
Yeah.

01:56:24.720 --> 01:56:26.900
There you go.

01:56:27.020 --> 01:56:28.400
What should I eat?

01:56:30.240 --> 01:56:30.580
Oh.

01:56:33.640 --> 01:56:34.780
Oh.

01:56:35.760 --> 01:56:36.580
There you go.

01:56:37.220 --> 01:56:52.960
I want to get this back home and I want to get this home and I want to save it for the next week.

01:56:53.280 --> 01:56:55.840
And I want to change it to clear this bill.

01:56:56.760 --> 01:56:58.480
And I want to change it.

01:56:58.480 --> 01:57:00.480
Get all the way off, get it off.

01:57:05.540 --> 01:57:06.160
I love that.

01:57:07.180 --> 01:57:09.580
It's cool to be really happy with the car.

01:57:12.400 --> 01:57:13.920
Yeah, it's really happy.

01:57:20.480 --> 01:57:21.100
Oh!

01:57:25.020 --> 01:57:26.840
What? I didn't see the problem.

01:57:28.480 --> 01:57:29.480
Yeah, it's nice.

01:57:37.200 --> 01:57:39.680
All right.

01:57:40.620 --> 01:57:43.200
Give me your heart.

01:57:43.560 --> 01:57:44.600
Give me your heart.

01:57:46.720 --> 01:57:48.100
I got you heart.

01:57:48.540 --> 01:57:48.980
Okay

01:59:09.460 --> 01:59:09.940
Oh

01:59:09.940 --> 01:59:13.840
No, my my mistress brought me one my mistress

01:59:16.220 --> 01:59:18.700
Whoa, I told you I didn't kill you

01:59:21.400 --> 01:59:21.880
No

01:59:28.980 --> 01:59:29.960
No

01:59:44.300 --> 01:59:54.400
I found the steam bun in the freezer and then you wrap it into jelly. Yeah for lunch

01:59:58.480 --> 01:59:58.760
Oh

02:00:17.380 --> 02:00:20.540
And they eat

02:00:47.900 --> 02:00:49.300
Oh

02:01:27.060 --> 02:01:28.460
So

02:01:30.660 --> 02:01:31.040
So

02:02:00.700 --> 02:02:02.100
So

02:02:33.220 --> 02:02:34.620
So

02:03:07.860 --> 02:03:09.260
So

02:03:56.980 --> 02:03:58.380
So

02:04:13.840 --> 02:04:14.360
Oh

02:04:36.620 --> 02:04:38.020
So

02:04:59.200 --> 02:05:00.600
So

02:05:11.060 --> 02:05:12.460
Hey

02:07:05.420 --> 02:07:06.820
Oh

02:07:28.680 --> 02:07:30.080
Hey

02:07:59.380 --> 02:08:00.780
Oh

02:08:53.820 --> 02:08:55.220
Oh

02:09:07.500 --> 02:09:08.900
Oh

02:09:39.260 --> 02:09:40.660
Oh

02:10:01.520 --> 02:10:02.920
Oh

02:10:49.080 --> 02:10:50.480
Oh

02:11:03.240 --> 02:11:04.640
Oh

02:11:28.480 --> 02:11:28.540
Oh

02:12:12.640 --> 02:12:14.040
Oh

02:12:14.040 --> 02:12:14.200
Oh

02:12:55.100 --> 02:12:56.500
Oh

02:13:00.020 --> 02:13:00.480
Oh

02:13:30.380 --> 02:13:30.480
Oh

02:14:08.600 --> 02:14:10.000
Oh

02:14:57.060 --> 02:14:58.460
Oh

02:15:11.120 --> 02:15:12.520
Oh

02:15:57.060 --> 02:15:58.460
Oh

02:16:27.060 --> 02:16:28.460
Oh

02:16:53.340 --> 02:16:54.740
Oh

02:17:01.380 --> 02:17:02.780
Oh

02:17:57.060 --> 02:17:58.460
Oh

02:18:03.540 --> 02:18:04.940
Oh

02:18:33.460 --> 02:18:34.860
Oh

02:18:41.380 --> 02:18:42.780
Oh

02:18:58.660 --> 02:19:00.060
Oh

02:19:46.900 --> 02:19:48.300
Oh

02:19:58.480 --> 02:19:58.640
Oh

02:20:38.180 --> 02:20:39.580
Oh

02:21:09.440 --> 02:21:10.840
Oh

02:21:10.840 --> 02:21:12.980
Oh

02:21:48.380 --> 02:21:49.780
Oh

02:22:12.060 --> 02:22:13.460
Oh

02:22:57.060 --> 02:22:58.460
Oh

02:23:01.320 --> 02:23:02.720
Oh

02:23:34.380 --> 02:23:35.780
Oh

02:24:26.540 --> 02:24:27.940
Oh

02:24:57.060 --> 02:24:58.460
Oh

02:25:27.060 --> 02:25:28.460
Oh

02:25:52.000 --> 02:25:53.400
Oh

02:25:53.400 --> 02:25:54.480
Oh

02:25:59.780 --> 02:26:00.480
Oh

02:26:56.440 --> 02:26:57.840
Oh

02:27:26.600 --> 02:27:28.000
Oh

02:27:56.500 --> 02:27:57.900
Oh

02:28:17.540 --> 02:28:18.940
Oh

02:28:45.640 --> 02:28:47.040
Oh

02:29:11.680 --> 02:29:16.060
It just needs to be picked up and put on a trailer and

02:29:16.060 --> 02:29:22.260
And that's all it needs to be the only problem is is there's a fence between the swim spa and the trailer

02:29:22.260 --> 02:29:29.300
And I really don't want to remove the fence unless unless a crane service is going to cost too much and then I'll have to remove

02:29:29.300 --> 02:29:31.480
But I don't think it should

02:29:32.140 --> 02:29:34.260
Let me get that for you

02:29:34.940 --> 02:29:39.680
If you're going on so if you're going on Google Earth to look at it

02:29:39.680 --> 02:29:48.820
Do know that the guy with the the trees have all been trimmed and the metal covering has been removed as well

02:29:48.820 --> 02:29:56.980
Just to let you know the DNS crane service delivered it two years ago, but that lady is not responding to me

02:29:56.980 --> 02:29:58.760
So that's not calling around

02:30:00.720 --> 02:30:05.820
So it's been cleared out I can send you pictures but the address is two two one six

02:30:09.640 --> 02:30:16.820
L O C H lock Haven Drive in Plano, Texas seven five zero two three

02:30:23.720 --> 02:30:24.380
And

02:30:24.380 --> 02:30:30.140
I have pictures of I have video of the delivery and I have pictures of the

02:30:31.180 --> 02:30:33.420
All around it and everything else if it would help

02:30:39.680 --> 02:30:46.600
Yeah, that covers been removed so that and that covers completely removed it's wide open

02:30:46.600 --> 02:30:49.040
And then the trees

02:30:49.040 --> 02:30:51.780
Have all been trimmed back

02:30:51.780 --> 02:31:00.100
And and really cut really really good. So it's a clear opening to pick it up over that fence and

02:31:00.100 --> 02:31:01.100
Put it on a trailer

02:31:01.100 --> 02:31:07.660
Also, the neighbors have given permission if you need to put like your operators down over onto their property

02:31:07.660 --> 02:31:16.260
But there's also an alleyway there something but you know, there's it's been it's been prepped and ready to go

02:31:16.600 --> 02:31:18.120
You know in our opinion

02:31:27.080 --> 02:31:28.200
Yes, yes

02:31:29.720 --> 02:31:36.600
Over the cup the so there's two main trees on each side of it and both have been drastically cut back

02:31:38.660 --> 02:31:40.600
That's a 20-foot

02:31:42.900 --> 02:31:47.880
Nineteen hundred pounds

02:31:51.560 --> 02:32:01.280
As soon as possible, so it's a basically up to you

02:32:02.620 --> 02:32:09.260
Thursday Thursday Friday. Yeah. Well, I mean I expect you guys to be open it quickly

02:32:09.780 --> 02:32:16.100
So Thursday or Friday works Saturday works Monday works of this week and Monday or next week

02:32:23.220 --> 02:32:25.300
Yeah, let's see for Friday

02:32:33.080 --> 02:32:37.660
Yeah, how much well first of all how much you think this gonna cost me cuz I have no clue

02:32:51.140 --> 02:32:51.740
I

02:32:51.740 --> 02:32:56.860
Can send you the specs it like even the specs online it is 1900 pounds

02:33:00.740 --> 02:33:05.780
Well, it will be drained out I need so I'm so I'm in Austin area

02:33:05.780 --> 02:33:10.820
I don't live in Austin, but I'm living the area and I'm buying it from this guy

02:33:10.820 --> 02:33:15.100
so I have to range for transportation and pick up and so

02:33:16.780 --> 02:33:23.020
He's gonna leave the water in it and I'm gonna drive up with my guy who who has a trailer at a truck

02:33:24.720 --> 02:33:29.700
And I'm gonna look at it make sure it's running and then we got like two or three pumps

02:33:29.700 --> 02:33:32.060
So we can pump out all the water very quickly

02:33:33.020 --> 02:33:35.340
You know once I verify things are working

02:33:35.340 --> 02:33:43.120
So we would have it ready by like noon on that day whatever day we do it and it would be dry

02:33:43.120 --> 02:33:50.180
And yeah, it's 1900 pounds. I've got the full specs. I can tell you exactly how long how wide and everything else

02:33:53.300 --> 02:33:55.260
It's flat on the ground on concrete

02:34:02.580 --> 02:34:03.100
And

02:34:03.720 --> 02:34:08.500
Like I said, I have video of it being delivered by DNS crane service

02:34:10.060 --> 02:34:13.880
and I can see how they did it in

02:34:14.660 --> 02:34:21.100
Yeah, but I can figure something out if you guys you know can you or something I can figure out how to get the straps

02:34:21.100 --> 02:34:23.020
Under me where you just lift it up

02:34:24.340 --> 02:34:26.360
With like a jack or something

02:34:33.080 --> 02:34:38.700
It is I'm looking at it now and you got about a foot between the fence in the swim spa

02:34:41.160 --> 02:34:47.420
Yeah, I'm looking at picture right now

02:34:59.840 --> 02:35:00.440
Okay

02:35:01.080 --> 02:35:03.960
Yeah, I mean we can do military this

02:35:07.000 --> 02:35:10.640
We'll try but anyways, um, so so I mean

02:35:13.320 --> 02:35:20.500
But I think I think three hours you'll be I think three hours is gonna be plenty because I'm gonna be there early

02:35:20.500 --> 02:35:23.360
to make sure everything's ready and then

02:35:27.640 --> 02:35:30.060
Oh, oh I thought it was three hours on site

02:35:31.100 --> 02:35:31.580
No

02:35:41.980 --> 02:35:42.460
Okay

02:35:45.980 --> 02:35:50.280
Okay, and then if we do it you you can do it on a Friday

02:35:54.580 --> 02:35:55.060
Okay

02:35:55.520 --> 02:36:00.080
Well, let me let me let me verify my guy can pick up on Friday

02:36:00.080 --> 02:36:02.100
He I just talked to him and it sounded like he could

02:36:03.080 --> 02:36:05.540
And I can call you back. What is your name?

02:36:07.080 --> 02:36:08.980
We don't think I'm Josh

02:36:09.620 --> 02:36:12.200
All right, let me let me let me coordinate

02:36:12.200 --> 02:36:17.600
Getting the truck and trailer up there to pick it up and you guys are you know

02:36:17.600 --> 02:36:21.180
like I said, you're just gonna lift it up and put it on my goose neck trailer and

02:36:23.040 --> 02:36:24.960
Then and then everybody be done

02:36:30.360 --> 02:36:30.860
Oh

02:36:30.860 --> 02:36:35.580
Yeah, no, I just need to coordinate timing so I'll definitely be calling you back

02:36:37.080 --> 02:36:39.820
Thank you, I've got the crane service

02:36:41.180 --> 02:36:43.840
So we don't need anybody to remove the fence

02:36:45.460 --> 02:36:50.560
It's gonna cost a little bit more than having to pay someone to remove the fence

02:36:50.560 --> 02:36:54.240
But this way it's nice and easy and they just need to pick it up and move

02:37:01.900 --> 02:37:08.300
We will need to figure out how to lift it up so they can get their straps underneath

02:37:10.180 --> 02:37:11.460
Is there any

02:37:13.140 --> 02:37:16.100
Kind of clearance on the bottom

02:37:17.760 --> 02:37:21.620
They would need to get their straps underneath to lift it

02:37:23.250 --> 02:37:25.890
And it looks like it sits flat on the concrete

02:38:05.930 --> 02:38:07.330
Oh

02:38:39.010 --> 02:38:40.410
Oh

02:39:19.990 --> 02:39:21.390
Oh

02:39:26.270 --> 02:39:27.670
Oh

02:40:15.550 --> 02:40:16.950
Oh

02:40:45.370 --> 02:40:46.770
Oh

02:41:16.610 --> 02:41:18.010
Oh