New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

datapumps-tde

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

datapumps-tde

Datapumps mixin for writing to the Tableau Data Extract format.

1.1.0
latest
npm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Datapumps: Tableau Extract Build Status

Datapumps is a node.js ETL framework that allows you to easily import, export, transform, or move data between systems. This package introduces a mixin that can be used with datapumps to write data to a Tableau Extract.

Installation

In order to install and use this package, you will need to install the C/C++ Tableau SDK on your system. Instructions for doing so can be found on the Node.js Tableau SDK project page.

Once the Tableau SDK is installed, you can install this package like you would any other node package:

npm install datapumps-tde --save

# If you haven't already, be sure you've also installed datapumps itself!
npm install datapumps --save

Usage

var datapumps = require('datapumps'),
    RestMixin = datapumps.mixin.RestMixin,
    TableauExtractMixin = require('datapumps-tde'),
    pump = new datapumps.Pump();
 
pump
  // Pull data from a REST API.
  .mixin(RestMixin)
  .fromRest({
    query: function () {return pump.get('https://jsonplaceholder.typicode.com/posts');},
    resultMapping: function (message) {
      return message.result;
    }
  })

  // Write data into a TDE in the current working directory.
  .mixin(TableauExtractMixin({
    path: 'posts.hyper',
    definition: {
      defaultAlias: 'JSON Placeholder Posts',
      columns: [
        {id: 'userId', dataType: 'int'},
        {id: 'id', dataType: 'int'},
        {id: 'title', dataType: 'string'},
        {id: 'body', dataType: 'string'}
      ]
    }
  }))
  .process(function (post) {
    // Optionally perform transformations here.
    return pump.insertIntoExtract(post);
  })

  .run()
    .then(function() {
      console.log('Done writing posts to the Extract.');
      pump.closeExtract();
    });

Advanced Usage

You can add multiple tables to your extract and insert data into specific tables like this.


pump
  .mixin(TableauExtractMixin({path: extPath, definition: extDef}))
  .addTableToExtract(secondTableName, secondTableDef)
  .process(function (data) {
    if (data.hasOwnProperty('foo')) {
      return pump.insertIntoExtract(secondTableName, data);
    }
    else {
      return pump.insertIntoExtract(otherTableName, data);
    }
  });

You can also insert multiple rows of data at once (for example, using the node-datapumps built-in BatchMixin) like this.

pump
  .mixin(BatchMixin)
  .mixin(TableauExtractMixin({path: extPath, definition: extDef}))
  .process(function (rows) {
    return pump.insertMultipleIntoExtract(rows);
  });

For more information about how to define an extract see the Node.js Tableau SDK usage details.

Keywords

etl

FAQs

Package last updated on 03 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts