Interacting With Windows Registry Using Chef

One of the most well-known differences between managing UNIX-like systems and Windows systems is the Windows Registry. Chef has resources for creating, modifying, and deleting Windows Registry keys. Beware that these operations are nonreversible (there is no implicit backup of values, so it may be worth preparing a backup before modifying values), and that they can potentially … read the rest

Installing Software Packages In Windows Using Chef

A large number of managed systems require configuration of software that is outside the scope of the built-in Windows roles and features. Chef has a very handy resource for installing arbitrary software onto a Windows host through the windows_package resource, which behaves somewhat like the Linux-based package resource only for Windows-specific installations. The windows_package resource is capable of installing software … read the rest

Chef Windows Installing Roles

While using Chef for Windows, there are multiple backends for the Windows feature resourceDISM and servermanagercmd. Each one has a specific Ruby class that will be used based on the determined backend as follows:

  • Chef::Provider::WindowsFeature::DISM: This uses DISM to manage roles/features (default unless DISM is not present)
  • Chef::Provider::WindowsFeature::ServerManagerCmd: This uses Server Manager to manage roles/features (the fallback
read the rest

Chef Windows Managing Roles and Features

Similar to how Linux distributions have package management tools and a repository of packages, Windows has long had built-in packages that come with the OS. Both desktop and server releases of Windows have installable components out of the box, with servers having more than desktops.

In Windows parlance, roles are similar to Chef’s notion of roles—a collection of software packages … read the rest

Windows Resources for Chef

When managing Windows with Chef, there are some Windows-specific resources that are available to you as part of the Windows stack. This section covers those resources that are specific to Windows such as the Windows Registry, roles, MSIs, and so on; the ones that won’t be available on Linux systems.

Working with Windows-specific resources

Most systems administrators, managing Windows means … read the rest

Installing Chef Client on Windows

Chef is a very popular infrastructure automation framework. It is also getting popular in windows based environment. Installing Chef Client on Windows is sometime a challenge for developer. In order to install the Chef client on Windows, there are three basic options to be performed, as follows:

  • Use the knife-windows plugin to bootstrap the host as described previously.
  • Download and
read the rest

Apache Spark

Apache Spark is an exciting technology that is rapidly superseding Hadoop’s MapReduce as the preferred big data processing platform. Hadoop is an open source, distributed, Java computation framework consisting of the Hadoop Distributed File System (HDFS) and MapReduce, its execution engine. Spark is similar to Hadoop in that it’s a distributed, general-purpose computing platform. But Spark’s unique design, which allows for … read the rest

Transpose & Pivot In Hive Query

Apache Hive does not have direct standard UDF for transposing rows into columns. Transpose & Pivot in Hive Query can be achieved using multi-stage process.  You can use collect_list() or collect_set() function and merge the multiple rows into columns and then get the result.

collect_list() and collect_set() are part of  Built-in Aggregate Functions (UDAF).  collect_list(col_name) returns a set of objects … read the rest