This gist is to support the answer to this Stackoverflow 61825263 question
run it as the following code
node log-parser.js logfile.log
console.time('script'); | |
const numbers = Array.from({ length: 10_000_000 }, (_, i) => i); | |
let sum = 0; | |
numbers.forEach((number) => { | |
sum += number; | |
}); | |
console.timeEnd('script'); |
package main | |
import ( | |
"encoding/json" | |
"fmt" | |
"io/ioutil" | |
"net/http" | |
"sync" | |
"time" | |
) |
import S3 from 'aws-sdk/clients/s3.js' | |
export const s3 = new S3() | |
const myFilterContents = (s3Response, pattern) => s3Response.Contents.filter(s3Object => pattern.test(s3Object.Key)) | |
export async function listObjectsWithSuffix (Bucket, Prefix, pattern) { | |
let myResults = [] | |
let myS3Response |
const sleep = (n, ...args) => new Promise((resolve) => { setTimeout(resolve, n, ...args) }) | |
const sleepError = (n, error) => ({ | |
timeout: null, | |
prom: null, | |
clearMyTimeout () { | |
clearTimeout(this.timeout) | |
this.prom && this.prom.resolve() | |
}, |
This gist is to support the answer to this Stackoverflow 61825263 question
run it as the following code
node log-parser.js logfile.log
var o = {"count":-1,"countTime":16274,"queryTime":23158,"data":[{"_id":"15869731151124671.9575aahr","journey":{"fullRoute":"RSW>YHZ","priceSpecification":{"priceBeforeTaxesAndFees":null,"totalPrice":343,"taxAmount":null,"isSoldOut":false,"currencyCode":"CAD","currencySymbol":"CAD","priceOffers":["JOURNEY"]},"passengerDetails":[{"category":"adult","mappedTo":"adultCount","count":1}],"passenger":{"count":1,"seniorCount":0,"adultCount":1,"youngAdultCount":0,"childCount":0,"infantInLapCount":0,"infantInSeatCount":0},"outboundFlight":{"boundType":"OUTBOUND","route":"RSW>YHZ","priceSpecification":{"totalPrice":343,"taxAmount":null},"fareClassInput":"ECONOMY","fareClass":"ECONOMY","departureAirportIataCode":"RSW","arrivalAirportIataCode":"YHZ","departureDate":"2020-06-14","departureCity":{"name":"FMY","cityCode":null},"departureCountry":{"name":"United States","isoCode":null},"arrivalCity":{"name":"YHZ","cityCode":null},"arrivalCountry":{"name":"Canada","isoCode":null},"flightType":"INTERNATIONAL"},"departureDate":" |
var s3 = new (require('aws-sdk/clients/s3'))() | |
var doIt = async (m, days, y = new Date().getFullYear()) => { | |
for (const d of days) { | |
await s3.listObjectsV2({ MaxKeys: 1000, Bucket: 'em-data-analytics-bucket', Prefix:`redshift-backups/public/em_farenet2_001/year=${y}/month=${m}/day=${d}/airlineiatacode=` }).promise() | |
.then((res) => { | |
const m = res.Contents.reduce((acc, i) => acc.add(path.dirname(i.Key)), new Set()); console.log(Array.from(m.values()).map((s, i) => { | |
const { year, month, day, airl, jt } = s.substr(24).match(/(?<tb>\w+)\/year=(?<year>\w+)\/month=(?<month>\w+)\/day=(?<day>\w+)\/\w+=(?<airl>\w+)\/\w+=(?<jt>\w+)/).groups; | |
return `PARTITION (year = '${year}', month = '${month}', day='${day}', airlineiatacode='${airl}', journeytype='${jt}') ${i % 4 === 0 ? '\n' : ''}` | |
}).join(' ')) | |
}) |
const createAPromise = s => new Promise((resolve) => { | |
console.log(`this promise will resolve in ${s} seconds`); | |
setTimeout(() => { | |
resolve(s); | |
console.log(`promise solved after ${s} seconds`); | |
}, s * 1000); | |
}); | |
const promises = []; |
# creating a fake list | |
cities = ['Miami', 'Diadema', 'NYC', 'Sao Paulo'] | |
fruits = ['Manana', 'Molango', 'Bacate', 'Acabaxi'] | |
list = [] | |
cities.each{|city| fruits.each{|fruit| list.push({city: city, product: fruit, count: rand(10..100)}) }} | |
puts list |
sudo du -hd 1|perl -e 'use Data::Dumper;my %h;while(<>){if(/([\d\.]+\w)\s*(\.\/.+)$/){$h{$2}=$1;}}; for my $k(sort(keys(%h))){printf("%4s | %s\n", $h{$k}, $k)};' |