Comments (3)
A very simple example would be something like:
// assuming mysql client for the select
client.query('select * from users').stream()
.pipe(etl.map(function(d) {
// if we haven't sent headers, we start by doing so
if (!this.headers)
this.headers = this.push('"'+Object.keys(d).join('","')+'"\n') || true;
return '"'+Object.keys(d).map(key => d[key]).join('","')+'"\n';
})
.pipe(etl.toFile('txt/text.txt'))
.promise()
.then(...)
However this does not properly escape the fields. A safer bet would be to use something like csv-write-stream which I believe you can use like this:
var csvWriter = require('csv-write-stream');
client.query('select * from users').stream()
.pipe(csvWriter())
.pipe(etl.toFile('txt/text.txt'))
.promise()
.then(...)
Let me know if this works or not for you
from node-etl.
thanks,
It works ok, code as follows
`var pool = mysql.createPool({
host: 'localhost',
port: '3306',
database: 'gss'
});
var p = etl.mysql.execute(pool);
p.stream('select * from test')
.pipe(csvWriter({
separator: ',',
newline: '\n',
headers: undefined,
sendHeaders: false
}))
.pipe(etl.toFile('txt/text.txt'))
.promise()
.then(function () {
console.log('done')
});`
now, I try insert to database using mysql
from node-etl.
see #31 for the other question
from node-etl.
Related Issues (20)
- Parallel processing HOT 1
- Postgres Upsert Requires All NOT NULL values to be included in the object.
- Typescript typings HOT 4
- Mongo insert is deprecated HOT 2
- Missing "pipeline" option in Elasticsearch
- fixed layout for binary source
- Postgres Upsert - Unique Field Support
- Old version of [email protected] has a dependency to "minimist": "^0.2.0" with a prototype pollution vulnerability HOT 1
- Can't change data type of field in Elasticsearch mapping
- SQL Server HOT 2
- __line HOT 1
- Mongo "pushResults" option
- Close mysql stream on error
- MSSQL Support HOT 1
- mongo ConnectAsync undefined
- ElasticSearch should retry with backoffs if transport error
- Elasticsearch concurrency option does nothing HOT 1
- Add AWS DynamoDB HOT 1
- etl.csv: strict: false - all headers lost after row with wrong number of columns for all following records
- Postgres upsert non-functional. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-etl.