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
Executing Windows Batch Script in Chef
Similar to Linux script resources for bash, ruby, and so on, Chef can execute arbitrarily-defined Windows batch scripts through the command interpreter. When these resources are used, Chef compiles the contents of the batch script as defined in the resource block’s code attribute and then deposits it on the managed host and it is executed from there.
Take caution when … read the rest
Chef Windows Installing Roles
While using Chef for Windows, there are multiple backends for the Windows feature resource—DISM 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
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
Chef and Microsoft Windows
Chef and Microsoft Windows are getting very popular. As chef practitioner, you must learn how chef works on Microsoft Windows. As you know that the client-side components of Chef are written in Ruby. Ruby is a cross-platform by nature, thus support for Windows is as straightforward as support for Linux and UNIX-like systems. It has been around for quite some … 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
Apache Hive Analytical Functions
Apache Hive Analytical Functions available since Hive 0.11.0, are a special group of functions that scan
the multiple input rows to compute each output value. Apache Hive Analytical Functions are usually used with OVER, PARTITION BY, ORDER BY, and the windowing specification. Different from the regular aggregate functions used with the GROUP BY clause that is limited to one … read the rest