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 (ITS), including 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. It presents extensive coverage of existing and forthcoming intelligent transportation systems and data analytics technologies. All fundamentals/concepts presented in this book are explained in the context of ITS. Users will learn everything from the basics of different ITS data types and characteristics to how to evaluate alternative data analytics for different ITS applications. They will discover 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. Data Analytics for Intelligent Transportation Systems will prepare an educated ITS workforce and tool builders to make the vision for safe, reliable, and environmentally sustainable intelligent transportation systems a reality. It serves as a primary or supplemental textbook for upper-level undergraduate and graduate ITS courses and a valuable reference for ITS practitioners. - Utilizes real ITS examples to facilitate a quicker grasp of materials presented - Contains contributors from both leading academic and commercial domains - Explains how to design effective data visualizations, tactics on the planning process, and how to evaluate alternative data analytics for different connected transportation applications - Includes exercise problems in each chapter to help readers apply and master the learned fundamentals, concepts, and techniques - New to the second edition: Two new chapters on Quantum Computing in Data Analytics and Society and Environment in ITS Data Analytics




Responsible Analytics and Data Mining in Education


Book Description

Winner of two Outstanding Book Awards from the Association of Educational Communications and Technology (Culture, Learning, & Technology and Systems Thinking & Change divisions)! Rapid advancements in our ability to collect, process, and analyze massive amounts of data along with the widespread use of online and blended learning platforms have enabled educators at all levels to gain new insights into how people learn. Responsible Analytics and Data Mining in Education addresses the thoughtful and purposeful navigation, evaluation, and implementation of these emerging forms of educational data analysis. Chapter authors from around the world explore how data analytics can be used to improve course and program quality; how the data and its interpretations may inadvertently impact students, faculty, and institutions; the quality and reliability of data, as well as the accuracy of data-based decisions; ethical implications surrounding the collection, distribution, and use of student-generated data; and more. This volume unpacks and explores this complex issue through a systematic framework whose dimensions address the issues that must be considered before implementation of a new initiative or program.




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.




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.




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