Programming MapReduce with Scalding


Book Description

This book is an easy-to-understand, practical guide to designing, testing, and implementing complex MapReduce applications in Scala using the Scalding framework. It is packed with examples featuring log-processing, ad-targeting, and machine learning. This book is for developers who are willing to discover how to effectively develop MapReduce applications. Prior knowledge of Hadoop or Scala is not required; however, investing some time on those topics would certainly be beneficial.




Enterprise Data Workflows with Cascading


Book Description

There is an easier way to build Hadoop applications. With this hands-on book, you’ll learn how to use Cascading, the open source abstraction framework for Hadoop that lets you easily create and manage powerful enterprise-grade data processing applications—without having to learn the intricacies of MapReduce. Working with sample apps based on Java and other JVM languages, you’ll quickly learn Cascading’s streamlined approach to data processing, data filtering, and workflow optimization. This book demonstrates how this framework can help your business extract meaningful information from large amounts of distributed data. Start working on Cascading example projects right away Model and analyze unstructured data in any format, from any source Build and test applications with familiar constructs and reusable components Work with the Scalding and Cascalog Domain-Specific Languages Easily deploy applications to Hadoop, regardless of cluster location or data size Build workflows that integrate several big data frameworks and processes Explore common use cases for Cascading, including features and tools that support them Examine a case study that uses a dataset from the Open Data Initiative




Data Analytics for Intelligent Transportation Systems


Book Description

Data Analytics for Intelligent Transportation Systems provides in-depth coverage of data-enabled methods for analyzing intelligent transportation systems that includes detailed coverage of the tools needed to implement these methods using big data analytics and other computing techniques. The book examines the major characteristics of connected transportation systems, along with the fundamental concepts of how to analyze the data they produce. It explores collecting, archiving, processing, and distributing the data, designing data infrastructures, data management and delivery systems, and the required hardware and software technologies. Users will learn how to design effective data visualizations, tactics on the planning process, and how to evaluate alternative data analytics for different connected transportation applications, along with key safety and environmental applications for both commercial and passenger vehicles, data privacy and security issues, and the role of social media data in traffic planning. Includes case studies in each chapter that illustrate the application of concepts covered Presents extensive coverage of existing and forthcoming intelligent transportation systems and data analytics technologies Contains contributors from both leading academic and commercial researchers Explains how to design effective data visualizations, tactics on the planning process, and how to evaluate alternative data analytics for different connected transportation applications




Guide to High Performance Distributed Computing


Book Description

This timely text/reference describes the development and implementation of large-scale distributed processing systems using open source tools and technologies. Comprehensive in scope, the book presents state-of-the-art material on building high performance distributed computing systems, providing practical guidance and best practices as well as describing theoretical software frameworks. Features: describes the fundamentals of building scalable software systems for large-scale data processing in the new paradigm of high performance distributed computing; presents an overview of the Hadoop ecosystem, followed by step-by-step instruction on its installation, programming and execution; Reviews the basics of Spark, including resilient distributed datasets, and examines Hadoop streaming and working with Scalding; Provides detailed case studies on approaches to clustering, data classification and regression analysis; Explains the process of creating a working recommender system using Scalding and Spark.




Programming Kotlin


Book Description

Familiarize yourself with all of Kotlin's features with this in-depth guide About This Book Get a thorough introduction to Kotlin Learn to use Java code alongside Kotlin without any hiccups Get a complete overview of null safety, Generics, and many more interesting features Who This Book Is For The book is for existing Java developers who want to learn more about an alternative JVM language. If you want to see what Kotlin has to offer, this book is ideal for you. What You Will Learn Use new features to write structured and readable object-oriented code Find out how to use lambdas and higher order functions to write clean, reusable, and simple code Write unit tests and integrate Kotlin tests with Java code in a transitioning code base Write real-world production code in Kotlin in the style of microservices Leverage Kotlin's extensions to the Java collections library Use destructuring expressions and find out how to write your own Write code that avoids null pointer errors and see how Java-nullable code can integrate with features in a Kotlin codebase Discover how to write functions in Kotlin, see the new features available, and extend existing libraries Learn to write an algebraic data types and figure out when they should be used In Detail Kotlin has been making waves ever since it was open sourced by JetBrains in 2011; it has been praised by developers across the world and is already being adopted by companies. This book provides a detailed introduction to Kotlin that shows you all its features and will enable you to write Kotlin code to production. We start with the basics: get you familiar with running Kotlin code, setting up, tools, and instructions that you can use to write basic programs. Next, we cover object oriented code: functions, lambdas, and properties – all while using Kotlin's new features. Then, we move on to null safety aspects and type parameterization. We show you how to destructure expressions and even write your own. We also take you through important topics like testing, concurrency, microservices, and a whole lot more. By the end of this book you will be able to compose different services and build your own applications. Style and approach An easy to follow guide that covers the full set of features in Kotlin programming.




Programming Scala


Book Description

Get up to speed on Scala, the JVM language that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away, and explains why Scala is ideal for today's highly scalable, data-centric applications that support concurrency and distribution. This second edition covers recent language features, with new chapters on pattern matching, comprehensions, and advanced functional programming. You’ll also learn about Scala’s command-line tools, third-party tools, libraries, and language-aware plugins for editors and IDEs. This book is ideal for beginning and advanced Scala developers alike. Program faster with Scala’s succinct and flexible syntax Dive into basic and advanced functional programming (FP) techniques Build killer big-data apps, using Scala’s functional combinators Use traits for mixin composition and pattern matching for data extraction Learn the sophisticated type system that combines FP and object-oriented programming concepts Explore Scala-specific concurrency tools, including Akka Understand how to develop rich domain-specific languages Learn good design techniques for building scalable and robust Scala applications




Mastering Scala


Book Description

Are you ready to dive into the world of advanced programming with confidence and expertise? "Mastering Scala" is your gateway to unlocking the true power of the Scala programming language. Whether you're an experienced developer seeking to expand your horizons or a programming enthusiast ready to embark on a transformative journey, this comprehensive guide will equip you with the skills to develop elegant, scalable, and high-performance software. Key Features: 1. In-Depth Exploration of Scala Fundamentals: Immerse yourself in the core concepts of Scala programming, from its unique blend of object-oriented and functional paradigms to its expressive syntax. Build a strong foundation that enables you to tackle complex programming challenges. 2. Functional Programming Mastery: Discover the beauty of functional programming in Scala. Learn how to leverage higher-order functions, immutability, and pattern matching to create clean, maintainable code that is both concise and powerful. 3. Concurrency and Parallelism: Dive into Scala's concurrent and parallel programming capabilities. Explore actors, Futures, and parallel collections to build responsive, highly performant applications that excel in a multi-core world. 4. Advanced Data Structures and Algorithms: Elevate your programming skills by mastering advanced data structures and algorithms in Scala. From sets and maps to trees and graphs, learn how to solve intricate problems using Scala's powerful abstractions. 5. Building Robust Applications: Explore best practices for structuring and organizing your Scala projects. Gain insights into error handling, testing, and writing code that is not only functional but also robust and easy to maintain. 6. Leveraging Scala's Ecosystem: Maximize your productivity by exploring the vibrant ecosystem of Scala libraries and frameworks. From web development to data analysis, discover tools that will help you create software efficiently and effectively. 7. Type System and Advanced Language Features: Dive into Scala's sophisticated type system and explore advanced language features like implicits and type classes. Craft expressive, type-safe code that reflects the elegance of Scala. 8. Performance Optimization: Master the art of optimizing Scala applications for top-notch performance. Learn profiling techniques, memory management, and concurrency tuning to ensure your software runs efficiently. 9. Deployment and DevOps: Navigate the landscape of deploying Scala applications to various environments. Discover containerization and adopt DevOps practices that streamline your development-to-production pipeline. Who This Book Is For: "Mastering Scala" is an indispensable companion for developers of all skill levels who are passionate about mastering the Scala programming language. Whether you're a novice programmer or an experienced coder eager to embrace Scala's unique features, this book will guide you through the language's intricacies and empower you to create sophisticated, high-performance software.




Professional Hadoop Solutions


Book Description

The go-to guidebook for deploying Big Data solutions with Hadoop Today's enterprise architects need to understand how the Hadoop frameworks and APIs fit together, and how they can be integrated to deliver real-world solutions. This book is a practical, detailed guide to building and implementing those solutions, with code-level instruction in the popular Wrox tradition. It covers storing data with HDFS and Hbase, processing data with MapReduce, and automating data processing with Oozie. Hadoop security, running Hadoop with Amazon Web Services, best practices, and automating Hadoop processes in real time are also covered in depth. With in-depth code examples in Java and XML and the latest on recent additions to the Hadoop ecosystem, this complete resource also covers the use of APIs, exposing their inner workings and allowing architects and developers to better leverage and customize them. The ultimate guide for developers, designers, and architects who need to build and deploy Hadoop applications Covers storing and processing data with various technologies, automating data processing, Hadoop security, and delivering real-time solutions Includes detailed, real-world examples and code-level guidelines Explains when, why, and how to use these tools effectively Written by a team of Hadoop experts in the programmer-to-programmer Wrox style Professional Hadoop Solutions is the reference enterprise architects and developers need to maximize the power of Hadoop.




Scala Cookbook


Book Description

Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language. Author Alvin Alexander (creator of DevDaily.com) provides solutions based on his experience using Scala for highly scalable, component-based applications that support concurrency and distribution. Packed with real-world scenarios, this book provides recipes for: Strings, numeric types, and control structures Classes, methods, objects, traits, and packaging Functional programming in a variety of situations Collections covering Scala's wealth of classes and methods Concurrency, using the Akka Actors library Using the Scala REPL and the Simple Build Tool (SBT) Web services on both the client and server sides Interacting with SQL and NoSQL databases Best practices in Scala development




Cloud Computing for Machine Learning and Cognitive Applications


Book Description

The first textbook to teach students how to build data analytic solutions on large data sets using cloud-based technologies. This is the first textbook to teach students how to build data analytic solutions on large data sets (specifically in Internet of Things applications) using cloud-based technologies for data storage, transmission and mashup, and AI techniques to analyze this data. This textbook is designed to train college students to master modern cloud computing systems in operating principles, architecture design, machine learning algorithms, programming models and software tools for big data mining, analytics, and cognitive applications. The book will be suitable for use in one-semester computer science or electrical engineering courses on cloud computing, machine learning, cloud programming, cognitive computing, or big data science. The book will also be very useful as a reference for professionals who want to work in cloud computing and data science. Cloud and Cognitive Computing begins with two introductory chapters on fundamentals of cloud computing, data science, and adaptive computing that lay the foundation for the rest of the book. Subsequent chapters cover topics including cloud architecture, mashup services, virtual machines, Docker containers, mobile clouds, IoT and AI, inter-cloud mashups, and cloud performance and benchmarks, with a focus on Google's Brain Project, DeepMind, and X-Lab programs, IBKai HwangM SyNapse, Bluemix programs, cognitive initiatives, and neurocomputers. The book then covers machine learning algorithms and cloud programming software tools and application development, applying the tools in machine learning, social media, deep learning, and cognitive applications. All cloud systems are illustrated with big data and cognitive application examples.