Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. Columnar memory layout allows applications to avoid unnecessary IO and accelerate analytical processing performance on modern CPUs and GPUs.
Apache Arrow™ enables execution engines to take advantage of the latest SIMD (Single input multiple data) operations included in modern processors, for native vectorized optimization of analytical data processing. Columnar layout is optimized for data locality for better performance on modern hardware like CPUs and GPUs.
Apache Arrow is backed by key developers of 13 major open source projects, including Calcite, Cassandra, Drill, Hadoop, HBase, Ibis, Impala, Kudu, Pandas, Parquet, Phoenix, Spark, and Storm making it the de-facto standard for columnar in-memory analytics.
The community has begun implementing R language bindings and interoperability with the Arrow C++ libraries. This will include support for zero-copy shared memory IPC and other tools needed to improve R integration with Apache Spark and more.
Leadership means creating a way forward. My favourite author on my favourite site.
“Bad programmers worry about the code. Good programmers worry about data structures and their relationships.”
In the recent SAP Order-to-Cash process automation project, I have created a structure for holding sales order stock table data. It seemed obvious to me to use ArrayList of String arrays for that purpose.
In order to provide all the information needed to change the delivery document, it was necessary to pair this data with the line item numbers of the created delivery. For that purpose I used a powerful parallel stream operations for filtering together with the terminal operation findAny(), because it keeps all the cores busy searching for a match and can terminate immediately when it finds one.
After a while I realized two shortcomings of this solution. The first one was a time for a new stream creation in each loop iteration, and the second one is that getting object by key from the HashMap is faster than filtering the stream.
So I changed data structure to LinkedHashMap instead of ArrayList. This change enabled me to pairing data over the HashMap key, which is the fastest way to do it.
The LinkedHashMap implementation differs from HashMap in that it maintains a doubly-linked list running through all of its entries. This linked list defines the iteration ordering, which is normally the order in which keys were inserted into the map. In that way, the items.forEach() method iterates in agreement with that order.
The code for both variant, together with common parts, is on the picture.
Lithium-ion batteries have become essential for powering electric cars and storing energy generated by solar panels and wind turbines. But their drawbacks are also by now familiar: They use scarce minerals, are vulnerable to fires and explosions, and are pricey.
The prevailing cost of lithium-ion technology varies, depending on the scale and application, estimated that it is most likely $300 to $400 per kilowatt-hour.
On Wednesday, an energy company NantEnergy, headed by the California billionaire Patrick Soon-Shiong, announced that it had developed a rechargeable battery operating on zinc and air that can store power at far less than the cost of lithium-ion batteries.
NantEnergy’s rechargeable green air breathing zinc battery technology has now broken the manufacturing cost barrier of $100 per kilowatt hour,
These green, air-breathing batteries avoids eliminates the need for lead, lithium and cobalt, which are scarce and dangerous materials and presents no risk of fire or environmental contamination.
System Conversions, Migrations & Upgrades can often be stressful and frustrating times for SAP Consultants and IT heads. Migrating data to a new system involves risk. To minimize the risk (and stress), you need to concentrate on the Preparation phase of the SAP S/4HANA Conversion.
SAP ERP systems need to transition to SAP S/4HANA before 2025. Corporations must start planning for this Conversion now. If not, last minute decisions may lead to a frustrating and bumpy ride. There may also be a shortage of experienced consultants as we get closer to this deadline, due to a large number of last-minute conversion projects. There is much to analyze when you are creating a System Conversion plan. The more proactive you are, the smoother the transition will be.
“We are delivering new support for password-less sign-in to Azure AD-connected apps via Microsoft Authenticator. The Authenticator app replaces your password with a more secure multi-factor sign-in that combines your phone and your fingerprint, face, or PIN. Using a multi-factor sign-in method, you can reduce compromise by 99.9 percent, and you can make the user experience simpler by eliminating passwords. No company lets enterprises eliminate more passwords than Microsoft. Today, we are declaring an end to the era of passwords.”