Comments (4)
Thanks @girishgoudapatil. What elasticsearch client version / server version are you using? Are you using etl.collect
above to assemble bulks above the etl.elastic.index
? Can you verify that the data is actually uploaded to ElasticSearch?
Here is the corresponding test:
https://github.com/ZJONSSON/node-etl/blob/master/test/elastic-test.js#L31-L43
it('pipes data into elasticsearch',function() {
var i = 0;
var upsert = etl.elastic.index(client,'test','test',{pushResult:true});
return data.stream()
.pipe(etl.map(function(d) {
d._id = i++;
return d;
}))
.pipe(etl.collect(100))
.pipe(upsert)
.promise()
.then(function(d) {
assert.equal(d[0].items.length,3);
assert.deepEqual(d[0].items[0].body,data.data[0]);
});
});
https://circleci.com/gh/ZJONSSON/node-etl/138
elastic bulk insert
✓ pipes data into elasticsearch (746ms)
✓ retrieves data back from elasticsearch (2036ms)
✓ streams results with elastic.find
✓ streams results with elastic.scroll (608ms)
from node-etl.
@ZJONSSON thanks for the quick response.
I am using [email protected] module , below code returns empty dataset for me in the resolve.
.pipe(etl.collect(500))
.pipe(etl.elastic.index(esClient,index,'test', {
concurrency : 5,
pushResult : true,
pushErrors : true
}))
.promise()
.then(function (data) {
console.log(data);
return upload(tmpFilename, s3key);
})
actually pushing everything in one go under resolve would be memory intensive if you are processing millions of records
from node-etl.
Ah I spotted the culprit. pushErrors
currently supersedes pushResult
(see here) - meaning that if you elect pushErrors
then pushResults
is ignored (you receive nothing downstream unless records errored). I think this should probably be the other way around to eliminate confusion - will post a patch.
Your code should work if you simply remove pushErrors
from the options in your original example. (pushResults
pushes both successes and errors). Let me know if that works
from node-etl.
See #46 - please reopen if the issue persists
(published on npm as [email protected]
)
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.