{"title":"Cache","nodeType":"Other","id":"*Qi07PtWEA5wwcXn5","factoryName":"org.knime.base.node.util.cache.CacheNodeFactory","factoryId":"org.knime.base.node.util.cache.CacheNodeFactory","path":["IO"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>The Cache node materializes and caches the input table in a data processing workflow. This node is useful after a sequence of preprocessing steps, especially when these steps involve column transformations, such as removing, manipulating, or adding new columns.</p>\n            \n            <p>In workflows involving multiple transformation nodes, only the modified data (e.g., added columns) is stored, while the unmodified columns reference the input data. Although this approach optimizes the execution and data caching for individual nodes, it can result in tables that are composites of multiple nested tables. Consequently, iterating over such composite tables may be less efficient compared to iterating over a single, unified table.</p>\n            \n            <p>The Cache node addresses this by materializing the input data, creating a self-contained table that consolidates all columns. Additionally, the Cache node is useful in scenarios where portions of a workflow are executed in streaming mode, as it allows data to be staged at specific points. This staging facilitates inspection and debugging, providing a snapshot of the data at the desired point in the workflow.</p>\n            \n        \n        ","shortDescription":"Materializes and caches the input table.","keywords":[],"deprecated":false,"streamable":true,"tags":["IO","Streamable"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYjM2YWM5Ny01ZWJhLTQwZTctOTE4OS1iYmU4ZDdkMGYyNGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTEzMEUxQ0Q4QTAxMTFFNTkyQzJBQjlCNTFCMUUyMzIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTEzMEUxQ0M4QTAxMTFFNTkyQzJBQjlCNTFCMUUyMzIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDY4QzQxMzMyRTIxMUU1QkREOUVEODI1NEZERTkzMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDY4QzQxNDMyRTIxMUU1QkREOUVEODI1NEZERTkzMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshzHBIAAAFfSURBVHjalJM9LENRFMffK5Ey+GgiQUQl0qESL4ZuQoLdiNVgMZtNTExiZ5JYzb5qaAciqUoMBqRBJEI7CEL6/A7nyuut4b2T/HJv3/m45/7Prev7viN2fHrbyTIL4zAEfdDk/NoHlKAI+7Azlkk+icOVAiTPs1+HuBPO3mCBIlsx/RAlWawZNmRjCqw50W317wqqgccyBxMwCI1WwpdqcASbtF+sKRA0iklnXdCin17hkaRqXbAUyJ7cLENK9mGQWFiRvZmCaeMSDqAA11CWLqENBsDTMaclmI5cc88rSKkjHVLE5+AUpmEvwgQkdrRORK7SzTICw9ADCXXJq3uAC8jReskW0QsrYEDInxyjQYHTz1h34RDOOaVsjbZdRZyEKe3SNVOo8KPVuucLVHQK4uuw/FUOaTAiLsGnFSAJ/ZD8J/kdFu2nLC9vJiBir/5pzEu8UxHzsM3p9+L4FmAAdZ/JCstSlFQAAAAASUVORK5CYII=","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Input table.","description":"Input table to cache."}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Cached Table","description":"As input table, only cached."}],"dynInPorts":[],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"sectionName":"Options","fields":[{"name":"Column domains","description":"<p>Specify whether to take domains of all input columns as output domains as-is or compute them on the output rows.</p>\n<p>Depending on the use case, one or the other setting may be preferable:</p>\n<ul><li><em>Retaining</em> input columns can be useful, if the axis limits of a view should be derived from domain bounds, and that bounds should stay stable even when the displayed data is filtered.</li><li><em>Computing</em> domains can be useful when a selection widget consumes the output and should only display actually present options to users.</li></ul>\n<p>If column domains are irrelevant for a particular use case, the &#34;Retain&#34; option should be used since it does not incur computation costs.</p>","optional":false},{"name":"Copy Implementation","description":"Select the copy implementation to use when copying. In most cases leave it as automatic unless you are running performance tests or similar. For backward compatibility reasons, the value for existing nodes is kept as &#39;Row-based&#39;.\n<ul><li><b>Automatic</b> : Determines the algorithm automatically based on the table backend used by the current workflow</li><li><b>Columnar (Full Row)</b> : Uses the Columnar Table API, best used when the workflow configuration is set to use the Columnar Table Backend.</li><li><b>Columnar (Cell By Cell)</b> : Uses the new Columnar Table API, in additioncopies each value in a row individually.</li><li><b>Row-based (Full Row)</b> : Uses the new Row Table Backend, using the old row-based API, which is known to be inefficient when the Columnar Table is set on a workflow.</li></ul>","optional":false}]}],"links":[],"kudos":[],"kudosCount":0,"bundleInformation":{"bundleVersion":"5.12.0.v202606261225","bundleName":"KNIME Base Nodes","bundleSymbolicName":"org.knime.base","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.base","featureName":"KNIME Base nodes","featureVersion":"5.12.0.v202606261225","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*bjR3r1yWOznPIEXS"},"frequentSuccessors":[{"id":"*ZgYyOm1P9VJVBE9e","factoryName":"org.knime.base.node.preproc.joiner.Joiner2NodeFactory","probability":0.12021857923497267},{"id":"*5stmXk6zY_ORA4bC","factoryName":"org.knime.base.node.preproc.groupby.GroupByNodeFactory","probability":0.08469945355191257},{"id":"*jd2U-FYTI8jCbQls","factoryName":"org.knime.base.node.preproc.filter.row.RowFilterNodeFactory","probability":0.04918032786885246},{"id":"*DOkyMaii62U05xZ1","factoryName":"org.knime.base.node.preproc.filter.column.DataColumnSpecFilterNodeFactory","probability":0.03278688524590164},{"id":"*Qi07PtWEA5wwcXn5","factoryName":"org.knime.base.node.util.cache.CacheNodeFactory","probability":0.0273224043715847},{"id":"*AApA5VHd41CVDe7u","factoryName":"org.knime.base.node.meta.looper.LoopEndNodeFactory","probability":0.0273224043715847},{"id":"*Oy714gpoifm4PiOZ","factoryName":"org.knime.base.node.io.csvwriter.CSVWriterNodeFactory","probability":0.01912568306010929},{"id":"*JiJhJpgkWWuOfG2s","factoryName":"org.knime.ext.poi2.node.write2.XLSWriter2NodeFactory","probability":0.01639344262295082},{"id":"*PHWv6FsABEjrSc76","factoryName":"org.knime.base.node.preproc.rename.RenameNodeFactory","probability":0.01639344262295082},{"id":"*ebLbPp7VLbV4apta","factoryName":"org.knime.base.node.preproc.pivot.Pivot2NodeFactory","probability":0.01366120218579235}]}
