Using Apache Beam with Rust - rust

All our serving code is in Rust. To prevent training serving skew we would like to use the same serving code in our batch processes which use Apache Beam. Any pointers of using Rust in Apache Beam?

As of now, there are only Beam SDKs for Java, Python and Go (TypeScript is on the way, currently experimental).
I see that there is a requesting issue on GitHub, which was imported from BEAM-12658. The JIRA ticket had some discussions and effort being put into bringing a Rust SDK, but it doesn't seem to have a lot of recent traction.
I'd suggest commenting and tracking the GitHub issue above, or contributing to the project so we can make it happen.

Related

Deno performance compared to node.js

Deno uses v8 to execute javascript but considering the fact that it directly runs typescript, I'm wondering if there is a performance penalty because of it or not.
It seems it compiles the code only for the first time. So is it possible to compile as a deployment step and avoid the startup overhead related to compilation?
Is there any other aspect in performance comparison between node.js and Deno?
Deno keeps track of some key performance metrics here: https://deno.land/benchmarks
As far as pre-compilation, it's on the roadmap and tracked in this issue: https://github.com/denoland/deno/issues/986
(an answer to the 2nd paragraph)
Deno stores the compiled assets in DENO_DIR. You can check it with the command "deno info". If you deploy the entire DENO_DIR as well as your source code, you can avoid the TypeScript compilation at the startup time.
You can also change the location of DENO_DIR by setting the DENO_DIR environmental variable.
DENO_DIR=/path/to/your_deno_dir deno run entrypoint.ts
Deno performance was and still better than Nodejs in excellent way since it's was using both JavaScript and TypeScript in it's code.
Deno as a secure TypeScript runtime built on V8, the Google runtime engine for JavaScript, is a good hope for back-end devs in future as It was built with Rust which I think is better than C++ which gave a life to Nodejs (Deno’s core was written in Rust, Node’s in C++).
I've not yet started to use deno fully but It's undoubtedly sure that it will be the best alternative to Nodejs as it includes almost everything Nodejs has with additional modern features needed in new dev world.
I'm trying to make it's tutorial on my site #Donnekt

Is Vogels a good choice for Amazon dynamoodb mapper with nodejs?

I see that no active development is going on from vogels page from a long time i.e, about 5 months https://github.com/ryanfitz/vogels
Are there any better options?
Has anyone faced issues with scalibility or I/O time with it?
I've been using vogels on a project recently. While it seems like it isn't as well maintained as it used to be, it's still quite a nice API wrapper - certainly much nicer than using the SDK directly.
I haven't encountered any performance cost with it - it's really just assembling AWS SDK calls, and doesn't do anything too crazy. The code is simple enough that anything I was unsure about I can dive in and check it out, and the docs are pretty good.
However another option that I've found recently is this library, open sourced by Medium. It's promised based and looks well maintained:
https://github.com/Medium/dynamite
I've been using Vogels for around 6 months now and it's done everything I've needed it to do. The raw dynamoDB api is too low level for what I need. I too noticed that the module wasn't being 'maintained' so I created a fork of the project and republished it to npm:
npm
github
I'm actively working on it to bring it up to modern standards and looking for more contributors to help out.

Spark IndexedRDD for Scala 2.11.x

I am referring to the project here: https://github.com/amplab/spark-indexedrdd
My questions are:
Is this still maintained? I noticed the last commit was in Sep 2015
Are there plans to add a 2.11.x version on Maven?
Are there any plans to add the Indexed RDDs into Spark Core?
Writing this I also realise the Spark project uses Scala 2.10.x. Is there any reason why there hasn't been a move to 2.11?
I don't believe it is still maintained but you should open an issue on their github repo to check that directly with the authors.
Thus, also the point concerning adding Scala 2.11 support should be answered there.
Concerning spark-core integration, there is a JIRA discussion about the topic. The project seems to be initiated as a pull request into spark-core but finally, they made a decision about keeping it as a separate package for now.

Is using Node.js or Ringojs safe for live websites?

As stated in the title, I would like to know if it's safe to develop a website using one of the actuals "omg" platforms that are Node.js and Ringo.js at their actual version.
Also, I would like to know if they support cookies/sessions and how do they deals with multi-fields post (fieldname[] in PHP).
Thank you
--Edit--
Thanks for all the links guys.
What can you tell me about Ringojs ?
Since I haven't figured which platform to start playing with. I must admit that the fact it can use Java seamlessly really impress me. The only available XSLT 2.0 library is in Java. I could use it as a templating system.
Is there anyone who had the chance to play with Ringojs?
From my experience using both, Ringo is more stable and "safer" for production use but you can comfortably deploy both. In addition to the ability to wrap existing Java libraries that you mention, you also get the benefit of being able to run it in an existing webapp container which manages the lifecycle of the application for you and ensures its availability.
That being said, it doesn't have to be an either or decision. By using my common-node package and assuming you don't use any Java libraries, it's perfectly feasible to maintain a project that runs on both without any changes to the code.
I've also included benchmarks that test the performance of Node.js vs. RingoJS the results of which you can find in the common-node/README.md. To summarize: RingoJS has slightly lower throughput than Node.js, but much lower variance in response times while using six times the RAM with default Java settings. The latter can be tweaked and brought down to as little as twice the memory usage of Node with e.g. my ringo-sunserver but at the expense of decreased performance.
Node.js is stable, so yes it's safe to use. Node.js is capable of handling cookies, sessions, and multiple fields but are not as easy to manage. Web frameworks solve this problem.
I recommend Express.js, it's an open-source web framework for Node.js which handles all of this and more.
You can download it here:
https://github.com/visionmedia/express
I hope this helped!
Examples of some of the bigger sites running Node.js
https://www.learnboost.com/
http://ge.tt/
https://gomockingbird.com/
https://secured.milewise.com/
http://voxer.com/
https://www.yammer.com/
http://cloud9ide.com/
http://beta.etherpad.org/
http://loggly.com/
http://wordsquared.com/
Yes. It is. https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node and https://github.com/joyent/node/wiki/modules
cookies/sessions/forms etc http://expressjs.com/ makes it easier
Ringojs is a framework developed by Hannes Wallnöver and uses rhino as it's scripting framework. There are webframeworks, templating-engines, orm-packages and many many more things already available. Have a look at the tutorial featuring a good subset of packages you may use for a simple web-application. It's not too long and straightforward.
Even thought some of those packages used within the tutorial (e.g. ringo-sqlstore]) are marked as 0.8 and come with the hint "consider this being beta" they are already very stable and bugs - if you find one - get fixed or commented on very fast.
And the power of uncountable java-libraries out there is at your fingertips - so if you already have java-knowledge this knowledge isn't wasted. Rhino - the scripting-engine - even enables you to implement interfaces and extend classes. It is possible a little more advanced but i've done it and i know of packages taking advantage of such features (like ringo-ftpserver which is a wrapper around Apache FtpServer written in java)
Another pro for me is - because ringojs is based on java - it works fairly well with multithreading with ringo/worker for example.

Did Atlassion build JIRA Query Language (JQL) from scratch?

My company is looking at advanced search and reporting solutions, and are considering (among other options) creating something akin to JIRA's JQL for maximum flexibility.
My googling leads me to believe Atlassian built JQL from scratch, at least as a language with syntax and a parser, but I thought I'd try SO before concluding. Anyone know, at a high level, how they did it? Was there one or more Open Source project they based it on?
(Kudos to Atlassian either way - JQL is gorgeous!)
I think they did it from scratch. The underlying architecture is crisp but quite complex. It took me a good few hours to get it, just reading the source and minimal user docs.
~Matt
Atlassian built JQL on top of Apache Lucene. You might want to take a look at Elasticsearch or Solr, which are open source alternatives, also built on Lucene.
I have been using Jira for a year and I notice "Apache Lucene" on the the directory, and before this I got a job wherein I was force to learn apache solr. So in conclusion, Jira is using Apache Lucene as a searching library which is also used was being used in Solr.
for more info read this:
http://www.lucenetutorial.com/lucene-vs-solr.html

Resources