{"id":3093,"date":"2026-08-26T11:55:28","date_gmt":"2026-08-26T03:55:28","guid":{"rendered":"http:\/\/www.innvant.com\/blog\/?p=3093"},"modified":"2026-08-26T11:55:28","modified_gmt":"2026-08-26T03:55:28","slug":"how-to-use-the-create-directory-step-in-kettle-4ceb-07cc7b","status":"publish","type":"post","link":"http:\/\/www.innvant.com\/blog\/2026\/08\/26\/how-to-use-the-create-directory-step-in-kettle-4ceb-07cc7b\/","title":{"rendered":"How to use the Create Directory step in Kettle?"},"content":{"rendered":"<p>Hey there! I&#8217;m from a Kettle supplier, and today I wanna chat about how to use the Create Directory step in Kettle. Kettle, also known as Pentaho Data Integration (PDI), is a super &#8211; handy tool for data integration and transformation. The Create Directory step is one of those nifty features that can make your data processing tasks a whole lot easier. <a href=\"https:\/\/www.lanka-10.com\/kettle\/\">Kettle<\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.lanka-10.com\/uploads\/43501\/small\/7-5l-digital-air-fryer-with-wifi-functionbc666.jpg\"><\/p>\n<h3>What&#8217;s the Create Directory Step All About?<\/h3>\n<p>First off, let&#8217;s understand what this step does. The Create Directory step in Kettle is used to create one or more directories on your file system. This can be really useful in a bunch of scenarios. For example, if you&#8217;re working on a data pipeline where you need to store processed data in different directories based on certain criteria, like dates or product categories, this step comes in clutch.<\/p>\n<h3>Setting Up the Create Directory Step<\/h3>\n<p>Okay, so how do you set it up? Well, it&#8217;s not as hard as you might think.<\/p>\n<ol>\n<li>\n<p><strong>Add the Step to Your Transformation<\/strong><\/p>\n<ul>\n<li>Open up your Kettle transformation in Spoon (the graphical interface for Kettle).<\/li>\n<li>From the &quot;Input&quot; or &quot;Utility&quot; section of the step palette, drag the &quot;Create Directory&quot; step into your transformation canvas.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Configure the Step<\/strong><\/p>\n<ul>\n<li>\n<p>Double &#8211; click on the Create Directory step. You&#8217;ll see a configuration window pop up.<\/p>\n<\/li>\n<li>\n<p>In the &quot;Directory&quot; field, you can enter the path of the directory you want to create. You can use variables here, which is super useful. For example, if you have a variable called <code>$DATE<\/code> that stores the current date, you can create a directory like <code>\/data\/processed\/$DATE<\/code>. This way, you can create new directories dynamically based on the value of your variables.<\/p>\n<\/li>\n<li>\n<p>You can also choose to add multiple directories. Just click on the &quot;New&quot; button in the &quot;Directory&quot; section and enter another path.<\/p>\n<\/li>\n<li>\n<p>There&#8217;s an option called &quot;Create parent directories&quot;. If you check this box, Kettle will create all the parent directories in the path if they don&#8217;t already exist. This is really convenient when you&#8217;re creating nested directories.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Using Variables with the Create Directory Step<\/h3>\n<p>Variables are a game &#8211; changer when it comes to using the Create Directory step. Let&#8217;s say you have a data pipeline that runs daily, and you want to create a new directory for each day&#8217;s processed data. You can use a system variable like <code>System.Date<\/code> in Kettle.<\/p>\n<ol>\n<li>\n<p><strong>Define the Variable<\/strong><\/p>\n<ul>\n<li>In the transformation, you can define variables in the &quot;Variables&quot; tab. You can also set system variables globally, but for simplicity, let&#8217;s just define it in the transformation.<\/li>\n<li>For example, you can set a variable named <code>TODAY<\/code> to the current date using the expression <code>System.Date<\/code>.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Use the Variable in the Create Directory Step<\/strong><\/p>\n<ul>\n<li>Go back to the Create Directory step configuration. In the &quot;Directory&quot; field, enter something like <code>\/data\/daily_processed\/${TODAY}<\/code>. When the transformation runs, Kettle will replace <code>${TODAY}<\/code> with the actual date value, and create a directory with that name.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Error Handling in the Create Directory Step<\/h3>\n<p>Sometimes, things don&#8217;t go as planned. Maybe the disk is full, or you don&#8217;t have the right permissions to create a directory. Kettle has some options for error handling in the Create Directory step.<\/p>\n<ol>\n<li>\n<p><strong>Continue on Error<\/strong><\/p>\n<ul>\n<li>There&#8217;s an option in the step configuration called &quot;Continue on error&quot;. If you check this box, Kettle will continue running the transformation even if it encounters an error while creating a directory. This can be useful if you have multiple directories to create, and you don&#8217;t want the whole process to stop just because one directory couldn&#8217;t be created.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Logging Errors<\/strong><\/p>\n<ul>\n<li>You can also set up logging to keep track of any errors. In the Kettle logging settings, you can configure the level of logging. For example, if you set it to &quot;Error&quot;, you&#8217;ll see detailed error messages in the log when a directory creation fails.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Real &#8211; World Use Cases<\/h3>\n<p>Let&#8217;s look at some real &#8211; world scenarios where the Create Directory step can be really useful.<\/p>\n<ol>\n<li>\n<p><strong>Data Archiving<\/strong><\/p>\n<ul>\n<li>Suppose you have a large dataset that you need to archive on a regular basis. You can use the Create Directory step to create a new archive directory for each month. For example, you can create a directory like <code>\/archives\/2024\/05<\/code> for May 2024. Then, you can move the data files to this newly created directory.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Data Partitioning<\/strong><\/p>\n<ul>\n<li>In a data warehouse, you might want to partition your data based on certain criteria, like customer segments or product lines. You can use the Create Directory step to create separate directories for each partition. For instance, if you have three customer segments (A, B, and C), you can create directories like <code>\/data\/segments\/A<\/code>, <code>\/data\/segments\/B<\/code>, and <code>\/data\/segments\/C<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Tips and Tricks<\/h3>\n<p>Here are some tips to get the most out of the Create Directory step.<\/p>\n<ol>\n<li>\n<p><strong>Test Your Configurations<\/strong><\/p>\n<ul>\n<li>Before running your transformation on a large &#8211; scale production environment, test it on a small dataset. This way, you can make sure that the directory creation works as expected and that there are no permission or path &#8211; related issues.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Keep Your Paths Consistent<\/strong><\/p>\n<ul>\n<li>Make sure that the paths you use in the Create Directory step are consistent across different steps in your transformation. If you&#8217;re using variables, make sure they&#8217;re defined and used correctly everywhere.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Wrapping Up<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.lanka-10.com\/uploads\/43501\/small\/home-appliances-8l-digital-air-fryer4fd95.jpg\"><\/p>\n<p>The Create Directory step in Kettle is a really powerful and useful feature. It can help you automate the process of creating directories, which is an important part of many data integration and processing tasks. Whether you&#8217;re archiving data, partitioning it, or just organizing your files, this step can save you a lot of time and effort.<\/p>\n<p><a href=\"https:\/\/www.lanka-10.com\/air-fryer\/digital-air-fryer\/\">Digital Air Fryer<\/a> If you&#8217;re interested in getting more out of Kettle and want to explore how our top &#8211; notch Kettle solutions can streamline your data processes, we&#8217;d love to chat! Reach out to us for a procurement discussion, and let&#8217;s work together to make your data operations more efficient.<\/p>\n<h3>References<\/h3>\n<ul>\n<li>&quot;Pentaho Data Integration &#8211; Big Data Edition&quot;, Packt Publishing<\/li>\n<li>Kettle official documentation<\/li>\n<\/ul>\n<hr>\n<p><a href=\"https:\/\/www.lanka-10.com\/\">Ningbo Lanka International Trading Co., Ltd.<\/a><br \/>As one of the most professional kettle manufacturers and suppliers in China, we&#8217;re featured by quality products and low price. Please rest assured to wholesale high-grade kettle for sale here from our factory. Also, custom service is available.<br \/>Address: No.11 Dongqian Lake Area, Yinxian Avenue, Ningbo, China<br \/>E-mail: messi@lanka10.com<br \/>WebSite: <a href=\"https:\/\/www.lanka-10.com\/\">https:\/\/www.lanka-10.com\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey there! I&#8217;m from a Kettle supplier, and today I wanna chat about how to use &hellip; <a title=\"How to use the Create Directory step in Kettle?\" class=\"hm-read-more\" href=\"http:\/\/www.innvant.com\/blog\/2026\/08\/26\/how-to-use-the-create-directory-step-in-kettle-4ceb-07cc7b\/\"><span class=\"screen-reader-text\">How to use the Create Directory step in Kettle?<\/span>Read more<\/a><\/p>\n","protected":false},"author":106,"featured_media":3093,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3056],"class_list":["post-3093","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industry","tag-kettle-4780-081753"],"_links":{"self":[{"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/posts\/3093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/users\/106"}],"replies":[{"embeddable":true,"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/comments?post=3093"}],"version-history":[{"count":0,"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/posts\/3093\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/posts\/3093"}],"wp:attachment":[{"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/media?parent=3093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/categories?post=3093"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.innvant.com\/blog\/wp-json\/wp\/v2\/tags?post=3093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}