100% found this document useful (1 vote)
2K views

Immediate download Azure Data Factory Cookbook: Data engineers guide to build and manage ETL and ELT pipelines with data integration , 2nd Edition Dmitry Foshin ebooks 2024

ELT

Uploaded by

depazkullekn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views

Immediate download Azure Data Factory Cookbook: Data engineers guide to build and manage ETL and ELT pipelines with data integration , 2nd Edition Dmitry Foshin ebooks 2024

ELT

Uploaded by

depazkullekn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Download the Full Version of textbook for Fast Typing at textbookfull.

com

Azure Data Factory Cookbook: Data engineers guide


to build and manage ETL and ELT pipelines with
data integration , 2nd Edition Dmitry Foshin

https://textbookfull.com/product/azure-data-factory-
cookbook-data-engineers-guide-to-build-and-manage-etl-and-
elt-pipelines-with-data-integration-2nd-edition-dmitry-
foshin/

OR CLICK BUTTON

DOWNLOAD NOW

Download More textbook Instantly Today - Get Yours Now at textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Azure Data Factory Cookbook - Second Edition Dmitry Foshin

https://textbookfull.com/product/azure-data-factory-cookbook-second-
edition-dmitry-foshin/

textboxfull.com

Quick Start Guide to Azure Data Factory Azure Data Lake


Server and Azure Data Warehouse 1st Edition Mark Beckner

https://textbookfull.com/product/quick-start-guide-to-azure-data-
factory-azure-data-lake-server-and-azure-data-warehouse-1st-edition-
mark-beckner/
textboxfull.com

Azure Data Factory by Example Practical Implementation for


Data Engineers 2nd Edition Richard Swinbank

https://textbookfull.com/product/azure-data-factory-by-example-
practical-implementation-for-data-engineers-2nd-edition-richard-
swinbank/
textboxfull.com

Azure Data Factory by Example: Practical Implementation


for Data Engineers - Second Edition Richard Swinbank

https://textbookfull.com/product/azure-data-factory-by-example-
practical-implementation-for-data-engineers-second-edition-richard-
swinbank/
textboxfull.com
Data Engineering with AWS: Acquire the skills to design
and build AWS-based data transformation pipelines like a
pro 2nd Edition Eagar
https://textbookfull.com/product/data-engineering-with-aws-acquire-
the-skills-to-design-and-build-aws-based-data-transformation-
pipelines-like-a-pro-2nd-edition-eagar/
textboxfull.com

Understanding Azure Data Factory: Operationalizing Big


Data and Advanced Analytics Solutions Sudhir Rawat

https://textbookfull.com/product/understanding-azure-data-factory-
operationalizing-big-data-and-advanced-analytics-solutions-sudhir-
rawat/
textboxfull.com

SQL Server Data Automation Through Frameworks: Building


Metadata-Driven Frameworks with T-SQL, SSIS, and Azure
Data Factory Andy Leonard
https://textbookfull.com/product/sql-server-data-automation-through-
frameworks-building-metadata-driven-frameworks-with-t-sql-ssis-and-
azure-data-factory-andy-leonard/
textboxfull.com

Machine Learning with R Cookbook Second Edition Analyze


data and build predictive models Bhatia

https://textbookfull.com/product/machine-learning-with-r-cookbook-
second-edition-analyze-data-and-build-predictive-models-bhatia/

textboxfull.com

Azure Storage, Streaming, and Batch Analytics: A guide for


data engineers 1st Edition Richard L. Nuckolls

https://textbookfull.com/product/azure-storage-streaming-and-batch-
analytics-a-guide-for-data-engineers-1st-edition-richard-l-nuckolls/

textboxfull.com
本书版权归Packt Publishing所有
Azure Data Factory Cookbook
Second Edition

Build ETL, Hybrid ETL, and ELT pipelines using ADF, Synapse Analytics,
Fabric and Databricks

Dmitry Foshin
Tonya Chernyshova
Dmitry Anoshin
Xenia Ireton

BIRMINGHAM—MUMBAI
Azure Data Factory Cookbook
Second Edition
Copyright © 2024 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means, without the prior written permission of the publisher, except in the case of brief
quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information
presented. However, the information contained in this book is sold without warranty, either express or
implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any
damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products
mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee
the accuracy of this information.

Senior Publishing Product Manager: Gebin George


Acquisition Editor – Peer Reviews: Tejas Mhasvekar
Project Editor: Janice Gonsalves
Content Development Editors: Soham Amburle, Elliot Dallow
Copy Editor: Safis Editing
Technical Editor: Anjitha Murali
Proofreader: Safis Editing
Indexer: Tejal Daruwale Soni
Presentation Designer: Ajay Patule
Developer Relations Marketing Executive: Vignesh Raju

First published: December 2020


Second edition: February 2024

Production reference: 2010324

Published by Packt Publishing Ltd.


Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB, UK.

ISBN 978-1-80324-659-8

www.packt.com
Contributors

About the authors


Dmitry Foshin is a lead data engineer with 12+ years of experience in IT and Big Data. He focus-
es on delivering business insights through adept data engineering, analytics, and visualization.
He excels in leading and executing full-stack big data analytics solutions, from ETL processes to
data warehouses, utilizing Azure cloud technologies and modern BI tools. Along with being a
co-author of the Azure Data Factory Cookbook, Dmitry has also launched successful data analytics
projects for FMCG corporations across Europe.

I would like to express my heartfelt gratitude to my wife, Mariia, my parents, my brother, Ilya, and all my
family and friends who supported me and provided encouragement throughout the journey of producing this
book. Your unwavering support has been invaluable, and I am deeply grateful for your presence in my life.
Tonya Chernyshova is an experienced Data Engineer with over 10 years in the field, includ-
ing time at Amazon. Specializing in Data Modeling, Automation, Cloud Computing (AWS and
Azure), and Data Visualization, she has a strong track record of delivering scalable, maintainable
data products. Her expertise drives data-driven insights and business growth, showcasing her
proficiency in leveraging cloud technologies to enhance data capabilities.

Dmitry Anoshin is a data engineering leader with 15 years of experience working in business
intelligence, data warehousing, data integration, big data, cloud, and machine learning space
across North America and Europe.

He leads data engineering initiatives on a petabyte-scale data platform that was built using
cloud and big data technologies to support machine learning experiments, data science models,
business intelligence reporting, and data exchange with internal and external partners. He is also
responsible for handling privacy compliance and security-critical datasets.

Besides that work, he teaches a cloud computing course at the University of Victoria, Canada,
wherein he mentors high-school students in the CS faculty, and he also teaches people how to
land data jobs at Surfalytics.com. In addition, he is an author of analytics books and a speaker at
data-related conferences and user groups.

I want to thank my beautiful wife, Lana, and my kids, Vasily, Anna, and Michael, who give me the energy to
work, grow, and contribute to the data industry.

Xenia Ireton is a Senior Software Engineer at Microsoft. She has extensive knowledge in building
distributed services, data pipelines and data warehouses.
About the reviewers
Deepak Goyal is a certified Azure Cloud Solution Architect, and he posseses over fifteen years
of expertise in Designing, Developing and Managing Enterprise Cloud solutions. He is also a Big
Data Certified professional and a passionate Cloud advocate.

Saikat Dutta is an Azure Data Engineer with over 13 years of experience. He has worked ex-
tensively with Microsoft Data products, from SQL Server 2000 to ADF, Synapse Pipelines, and
MS Fabric. His career is shaped by various employers. The highlights of his career have been
adaptability and a commitment to staying at the forefront of technology.

This is his first book review, wherein he has tried to provide practical insights into Microsoft Data
products and tried to help the book become more than a cookbook. He has also contributed to a
popular Data Newsletter and blog to share knowledge in the tech community.

Excited about the book’s impact, I look forward to continuing my journey in the evolving field
of Data Engineering.

I express gratitude to my family for their unwavering support during the review process. Balancing work and
family, especially with a younger kid, wouldn’t have been possible without their cooperation.
Join our community on Discord
Join our community’s Discord space for discussions with the authors and other readers:

https://discord.gg/U229qmBmT3
Table of Contents

Preface  xix

Chapter 1: Getting Started with ADF  1

Introduction to the Azure data platform ����������������������������������������������������������������������������� 2


Getting ready • 4
How to do it... • 4
How it works... • 6
Creating and executing our first job in ADF ������������������������������������������������������������������������ 7
Getting ready • 7
How to do it... • 8
How it works... • 12
There’s more... • 13
See also • 13
Creating an ADF pipeline using the Copy Data tool ����������������������������������������������������������� 14
Getting ready • 14
How to do it... • 14
How it works... • 15
There’s more... • 15
Creating an ADF pipeline using Python ���������������������������������������������������������������������������� 16
Getting ready • 16
How to do it... • 16
How it works... • 18
viii Table of Contents

There’s more... • 18
See also • 18
Creating a data factory using PowerShell �������������������������������������������������������������������������� 19
Getting ready • 19
How to do it… • 19
How it works... • 21
There’s more... • 22
See also • 22
Using templates to create ADF pipelines ��������������������������������������������������������������������������� 22
Getting ready • 22
How to do it... • 22
How it works... • 24
See also • 24
Creating an Azure Data Factory using Azure Bicep ������������������������������������������������������������ 25
Getting ready • 25
How to do it... • 25
How it works... • 26
There’s more... • 27
See also • 27

Chapter 2: Orchestration and Control Flow  29

Technical requirements ���������������������������������������������������������������������������������������������������� 30


Using parameters and built-in functions �������������������������������������������������������������������������� 32
Getting ready • 32
How to do it… • 32
How it works… • 45
There’s more… • 45
See also • 47
Using the Metadata and Stored Procedure activities ��������������������������������������������������������� 47
Getting ready • 47
How to do it… • 47
Table of Contents ix

How it works… • 49
There’s more… • 50
Using the ForEach and Filter activities ������������������������������������������������������������������������������� 51
Getting ready • 51
How to do it… • 51
How it works… • 55
Chaining and branching activities within a pipeline �������������������������������������������������������� 56
Getting ready • 56
How to do it… • 56
There’s more… • 59
Using the Lookup, Web, and Execute Pipeline activities ��������������������������������������������������� 60
Getting ready • 61
How to do it… • 65
How it works… • 69
There’s more… • 70
See also • 70
Creating event-based pipeline triggers ����������������������������������������������������������������������������� 70
Getting ready • 70
How to do it… • 71
How it works… • 75
There’s more… • 76
See also • 77

Chapter 3: Setting Up Synapse Analytics  79

Technical requirements ��������������������������������������������������������������������������������������������������� 80


Creating an Azure Synapse workspace ����������������������������������������������������������������������������� 80
Getting ready • 80
How to do it… • 80
There’s more… • 84
Loading data to Azure Synapse Analytics using Azure Data Factory ���������������������������������� 87
Getting ready • 87
x Table of Contents

How to do it… • 88
How it works… • 94
There’s more… • 94
Loading data to Azure Synapse Analytics using Azure Data Studio ���������������������������������� 95
Getting ready • 95
How to do it… • 96
How it works… • 101
There’s more… • 102
Loading data to Azure Synapse Analytics using bulk load ����������������������������������������������� 102
Getting ready • 102
How to do it… • 103
How it works… • 108
Pausing/resuming an Azure Synapse SQL pool from Azure Data Factory ������������������������ 109
Getting ready • 109
How to do it… • 109
How it works… • 114
There’s more… • 114
Working with Azure Purview using Azure Synapse ���������������������������������������������������������� 115
Getting ready • 115
How to do it… • 116
How it works… • 123
There’s more... • 123
Copying data in Azure Synapse Integrate ������������������������������������������������������������������������� 123
Getting ready • 123
How to do it… • 123
How it works… • 126
Using a Synapse serverless SQL pool �������������������������������������������������������������������������������� 127
Getting ready • 127
How to do it… • 127
How it works… • 133
There’s more… • 133
Table of Contents xi

Chapter 4: Working with Data Lake and Spark Pools  135

Technical requirements ��������������������������������������������������������������������������������������������������� 136


Setting up Azure Data Lake Storage Gen2 ������������������������������������������������������������������������ 136
Getting ready • 137
How to do it... • 137
There’s more... • 141
Creating a Synapse Analytics Spark pool �������������������������������������������������������������������������� 141
Getting ready • 141
How to do it... • 141
How it works... • 144
There’s more... • 144
Integrating Azure Data Lake and running Spark pool jobs ����������������������������������������������� 145
Getting ready • 145
How to do it... • 145
How it works... • 148
Building and orchestrating a data pipeline for Data Lake and Spark �������������������������������� 149
Getting ready • 149
How to do it... • 149
How it works... • 152
There’s more... • 153

Chapter 5: Working with Big Data and Databricks  155

Introduction �������������������������������������������������������������������������������������������������������������������� 155


Technical requirements ��������������������������������������������������������������������������������������������������� 156
Setting up an HDInsight cluster ��������������������������������������������������������������������������������������� 156
Getting ready • 156
How to do it… • 157
How it works… • 164
There is more… • 164
xii Table of Contents

Processing data from Azure Data Lake with HDInsight and Hive ������������������������������������ 164
Getting ready • 165
How to do it… • 165
How it works… • 174
Building data models in Delta Lake and data pipeline jobs with Databricks �������������������� 176
Getting ready • 176
How to do it… • 177
How it works… • 186
There is more… • 188
Ingesting data into Delta Lake using Mapping Data Flows ��������������������������������������������� 188
Getting ready • 189
How to do it… • 189
How it works… • 197
There is more… • 198
External integrations with other compute engines (Snowflake) ������������������������������������� 198
Getting ready • 199
How to do it… • 199
How it works… • 208
There is more… • 208

Chapter 6: Data Migration – Azure Data Factory and


Other Cloud Services  209

Technical requirements �������������������������������������������������������������������������������������������������� 210


Copying data from Amazon S3 to Azure Blob storage ������������������������������������������������������ 210
Getting ready • 211
How to do it… • 211
How it works… • 217
Copying large datasets from S3 to ADLS ��������������������������������������������������������������������������� 217
Getting ready • 217
How to do it… • 218
Creating the linked services and dataset for the pipeline • 219
Table of Contents xiii

Creating the inner pipeline • 221


Creating the outer pipeline • 222
How it works… • 224
See also • 224
Copying data from Google Cloud Storage to Azure Data Lake ����������������������������������������� 225
Getting ready • 225
How to do it… • 225
How it works… • 230
See also • 230
Copying data from Google BigQuery to Azure Data Lake Store ���������������������������������������� 230
Getting ready • 231
How to do it… • 232
Migrating data from Google BigQuery to Azure Synapse ������������������������������������������������� 234
Getting ready • 235
How to do it… • 235
See also • 237

Chapter 7: Extending Azure Data Factory


with Logic Apps and Azure Functions  239

Technical requirements �������������������������������������������������������������������������������������������������� 239


Triggering your data processing with Logic Apps ����������������������������������������������������������� 240
Getting ready • 240
How to do it… • 240
How it works… • 245
There’s more… • 246
Using the Web activity to call an Azure logic app ������������������������������������������������������������ 248
Getting ready • 248
How to do it… • 248
How it works… • 256
There’s more… • 257
xiv Table of Contents

Adding flexibility to your pipelines with Azure Functions ����������������������������������������������� 258


Getting ready… • 258
How to do it… • 258
How it works… • 265
There’s more… • 265

Chapter 8: Microsoft Fabric and Power BI, Azure ML,


and Cognitive Services  267

Technical requirements �������������������������������������������������������������������������������������������������� 268


Introducing Microsoft Fabric and Data Factory �������������������������������������������������������������� 269
Getting ready • 269
How to do it... • 269
How it works... • 281
Microsoft Fabric Data Factory: A closer look at the pipelines ������������������������������������������ 282
Getting ready • 282
How to do it... • 282
How it works... • 287
Loading data with Microsoft Fabric Dataflows ��������������������������������������������������������������� 287
Getting ready • 288
How to do it... • 288
How it works... • 293
There’s more... • 295
Automatically building ML models with speed and scale ���������������������������������������������� 300
Getting ready • 300
How to do it... • 300
How it works… • 316
There’s more... • 316
Analyzing and transforming data with Azure AI and prebuilt ML models ������������������������ 316
Getting ready • 317
How to do it... • 319
How it works... • 331
There’s more... • 334
Table of Contents xv

Chapter 9: Managing Deployment Processes with Azure DevOps  337

Technical requirements �������������������������������������������������������������������������������������������������� 338


Setting up Azure DevOps ������������������������������������������������������������������������������������������������ 338
Getting ready • 338
How to do it... • 338
How it works... • 346
Publishing changes to ADF ��������������������������������������������������������������������������������������������� 347
Getting ready • 347
How to do it... • 347
How it works... • 349
Deploying your features into the master branch ������������������������������������������������������������� 350
Getting ready • 351
How to do it... • 351
How it works... • 359
Getting ready for the CI/CD of ADF ��������������������������������������������������������������������������������� 359
Getting ready • 360
How to do it... • 360
How it works... • 367
Creating an Azure pipeline for CD ����������������������������������������������������������������������������������� 367
Getting ready • 367
How to do it... • 367
How it works... • 375
There’s more... • 376
Install and configure Visual Studio to work with ADF deployment ���������������������������������� 377
Getting ready • 377
How to do it... • 378
How it works... • 382
Setting up ADF as a Visual Studio project ������������������������������������������������������������������������ 382
Getting ready • 382
How to do it... • 382
How it works… • 388
xvi Table of Contents

Running Airflow DAGs with ADF ������������������������������������������������������������������������������������ 388


Getting ready • 388
How to do it... • 388
How it works... • 395

Chapter 10: Monitoring and Troubleshooting Data Pipelines  397

Technical requirements �������������������������������������������������������������������������������������������������� 397


Monitoring pipeline runs and integration runtimes ������������������������������������������������������� 398
Getting ready • 398
How to do it… • 398
How it works… • 403
Investigating failures – running pipelines in debug mode ���������������������������������������������� 405
Getting ready • 405
How to do it… • 408
How it works… • 411
There’s more… • 412
See also • 414
Rerunning activities �������������������������������������������������������������������������������������������������������� 414
Getting ready • 415
How to do it… • 415
How it works… • 419
Configuring alerts for your Azure Data Factory runs ������������������������������������������������������� 419
Getting ready • 419
How to do it… • 421
How it works… • 429
There’s more… • 429
See also • 430

Chapter 11: Working with Azure Data Explorer  431

Introduction to ADX �������������������������������������������������������������������������������������������������������� 432


See also • 434
Table of Contents xvii

Creating an ADX cluster and ingesting data �������������������������������������������������������������������� 434


Getting ready • 434
How to do it... • 434
How it works... • 436
How it works… • 437
See also • 438
Orchestrating ADX data with Azure Data Factory ����������������������������������������������������������� 439
Getting ready • 439
How to do it... • 439
How it works... • 441
There’s more... • 442
See also • 442
Ingesting data from Azure Blob storage to ADX in Azure Data Factory using the Copy
activity ���������������������������������������������������������������������������������������������������������������������������� 442
Getting ready • 442
How to do it... • 443
How it works... • 447
There’s more... • 447

Chapter 12: The Best Practices of Working with ADF  449

Technical requirements �������������������������������������������������������������������������������������������������� 449


Setting up roles and permissions with access levels in ADF �������������������������������������������� 450
Getting ready • 450
How to do it… • 450
How it works… • 453
There is more… • 455
See also • 456
Setting up Meta ETL with ADF ���������������������������������������������������������������������������������������� 457
Getting ready • 458
How to do it... • 458
How it works… • 462
There’s more... • 464
xviii Table of Contents

Leveraging ADF scalability: Performance tuning of an ADF pipeline ������������������������������ 464


Getting ready • 465
How to do it… • 468
How it works… • 470
There is more… • 471
See also • 472
Using ADF disaster recovery built-in features ����������������������������������������������������������������� 472
Getting ready • 472
How to do it... • 472
How it works... • 476
Change Data Capture ����������������������������������������������������������������������������������������������������� 476
Getting ready • 476
How to do it… • 477
How it works… • 481
There is more… • 482
Managing Data Factory costs with FinOps ���������������������������������������������������������������������� 482
Getting ready • 483
How to do it... • 483
How it works... • 489

Other Books You May Enjoy  493

Index  497
Preface
Azure Data Factory (ADF) is a modern data integration tool available on Microsoft Azure. This
Azure Data Cookbook, Second Edition helps you get up and running by showing you how to create
and execute your first job in ADF. You’ll learn how to branch and chain activities, create custom
activities, and schedule pipelines. This book will help you discover the benefits of cloud data
warehousing, Azure Synapse Analytics, Azure Data Lake Storage Gen2, and Databricks, which
are frequently used for Big Data Analytics. Through practical recipes, you’ll learn how to actively
engage with analytical tools from Azure Data Services and leverage your on-premises infrastruc-
ture with cloud-native tools to get relevant business insights.

As you advance, you’ll be able to integrate the most commonly used Azure services into ADF and
understand how Azure services can be useful in designing ETL pipelines. The book will take you
through the common errors that you may encounter while working with ADF and guide you in
using the Azure portal to monitor pipelines. You’ll also understand error messages and resolve
problems in connectors and data flows with the debugging capabilities of ADF.

Additionally, there is also a focus on the latest cutting-edge technology in Microsoft Fabric. You’ll
explore how this technology enhances its capabilities for data integration and orchestration.

By the end of this book, you’ll be able to use ADF as the main ETL and orchestration tool for your
data warehouse and data platform projects.

Who this book is for


This book is for ETL developers, data warehouse and ETL architects, software professionals, and
anyone who wants to learn about the common and not-so-common challenges that are faced
while developing traditional and hybrid ETL solutions using Microsoft’s ADF, Synapse Analytics,
and Fabric. You’ll also find this book useful if you are looking for recipes to improve or enhance
your existing ETL pipelines. Basic knowledge of data warehousing is expected.
xx Preface

What this book covers


Chapter 1, Getting Started with ADF, will provide a general introduction to the Azure data platform.
In this chapter, you will learn about the ADF interface and options as well as common use cases.
You will perform hands-on exercises in order to find ADF in the Azure portal and create your first
ADF job.

Chapter 2, Orchestration and Control Flow, will introduce you to the building blocks of data pro-
cessing in ADF. The chapter contains hands-on exercises that show you how to set up linked
services and datasets for your data sources, use various types of activities, design data-processing
workflows, and create triggers for data transfers.

Chapter 3, Setting Up Synapse Analytics, covers key features and benefits of cloud data warehousing
and Azure Synapse Analytics. You will learn how to connect and configure Azure Synapse Analytics,
load data, build transformation processes, and operate data flows.

Chapter 4, Working with Data Lake and Spark Pools, will cover the main features of the Azure Data
Lake Storage Gen2. It is a multimodal cloud storage solution that is frequently used for big data
analytics. We will load and manage the datasets that we will use for analytics in the next chapter.

Chapter 5, Working with Big Data and Databricks, will actively engage with analytical tools from
Azure’s data services. You will learn how to build data models in Delta Lake using Azure Databricks
and mapping data flows. Also, this recipe will show you how to set up HDInsights clusters and
how to work with delta tables.

Chapter 6, Data Migration – Azure Data Factory and Other Cloud Services, will walk though several
illustrative examples on migrating data from Amazon Web Services and Google Cloud providers.
In addition, you will learn how to use ADF’s custom activities to work with providers who are
not supported by Microsoft’s built-in connectors.

Chapter 7, Extending Azure Data Factory with Logic Apps and Azure Functions, will show you how to
harness the power of serverless execution by integrating some of the most commonly used Azure
services: Azure Logic Apps and Azure Functions. These recipes will help you understand how
Azure services can be useful in designing Extract, Transform, Load (ETL) pipelines.

Chapter 8, Microsoft Fabric and Power BI, Azure ML, and Cognitive Services, will teach you how to
build an ADF pipeline that operates on a pre-built Azure ML model. You will also create and run
an ADF pipeline that leverages Azure AI for text data analysis. In the last three recipes, you’ll
familiarize yourself with the primary components of Microsoft Fabric Data Factory.
Preface xxi

Chapter 9, Managing Deployment Processes with Azure DevOps, will delve into setting up CI and
CD for data analytics solutions in ADF using Azure DevOps. Throughout the process, we will
also demonstrate how to use Visual Studio Code to facilitate the deployment of changes to ADF.

Chapter 10, Monitoring and Troubleshooting Data Pipelines, will introduce tools to help you manage
and monitor your ADF pipelines. You will learn where and how to find more information about
what went wrong when a pipeline failed, how to debug a failed run, how to set up alerts that
notify you when there is a problem, and how to identify problems with your integration runtimes.

Chapter 11, Working with Azure Data Explorer, will help you to set up a data ingestion pipeline from
ADF to Azure Data Explorer: it includes a step-by-step guide to ingesting JSON data from Azure
Storage and will teach you how to transform data in Azure Data Explorer with ADF activities.

Chapter 12, The Best Practices of Working with ADF, will guide you through essential considerations,
strategies, and practical recipes that will elevate your ADF projects to new heights of efficiency,
security, and scalability.

To get the most out of this book


Basic knowledge of data warehousing is expected. You’ll need an Azure subscription to follow
all the recipes given in the book. If you’re using a paid subscription, make sure to pause or delete
the services after you are done using them, to avoid high usage costs.

Software/Hardware covered in the book OS Requirements


Azure subscription (portal.azure.com) Windows, macOS, or Linux
SQL Server Management Studio Windows
Azure Data Studio Windows, macOS, or Linux
Power BI or Microsoft Fabric subscription account Windows, macOS, or Linux

If you are using the digital version of this book, we advise you to type the code yourself or access
the code via the GitHub repository (link available in the next section). Doing so will help you
avoid any potential errors related to the copying and pasting of code.

Download the example code files


You can download the example code files for this book from GitHub at https://github.com/
PacktPublishing/Azure-Data-Factory-Cookbook-Second-Edition. In case there’s an update
to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://
github.com/PacktPublishing/. Check them out!
xxii Preface

Download the color images


We also provide a PDF file that has color images of the screenshots/diagrams used in this book.
You can download it here: https://packt.link/gbp/9781803246598.

Conventions used
There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file
extensions, pathnames, dummy URLs, user input, and Twitter handles. For example: “Mount the
downloaded WebStorm-10*.dmg disk image file as another disk in your system.”

A block of code is set as follows:


[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)

When we wish to draw your attention to a particular part of a code block, the relevant lines or
items are set in bold:
[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)

Any command-line input or output is written as follows:


# cp /usr/src/asterisk-addons/configs/cdr_mysql.conf.sample
/etc/asterisk/cdr_mysql.conf

Bold: Indicates a new term, an important word, or words that you see on the screen. For instance,
words in menus or dialog boxes also appear in the text like this. For example: “Select System info
from the Administration panel.”
Preface xxiii

Warnings or important notes appear like this.

Tips and tricks appear like this.

Get in touch
Feedback from our readers is always welcome.

General feedback: Email [email protected], and mention the book’s title in the subject of
your message. If you have questions about any aspect of this book, please email us at questions@
packtpub.com.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do
happen. If you have found a mistake in this book we would be grateful if you would report this
to us. Please visit, http://www.packtpub.com/submit-errata, selecting your book, clicking on
the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would
be grateful if you would provide us with the location address or website name. Please contact us
at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you
are interested in either writing or contributing to a book, please visit http://authors.packtpub.
com.
xxiv Preface

Share your thoughts


Once you’ve read Azure Data Factory Cookbook, we’d love to hear your thoughts! Please click here
to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re deliv-
ering excellent quality content.
Download a free PDF copy of this book
Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere?

Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical
books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free
content in your inbox daily

Follow these simple steps to get the benefits:

1. Scan the QR code or visit the link below

https://packt.link/free-ebook/9781803246598

2. Submit your proof of purchase


3. That’s it! We’ll send your free PDF and other benefits to your email directly
1
Getting Started with ADF
Microsoft Azure is a public cloud vendor. It offers different services for modern organizations.
The Azure cloud has several key components, such as compute, storage, databases, and networks.
They serve as building blocks for any organization that wants to reap the benefits of cloud com-
puting. There are many benefits to using the cloud, including utilities, metrics, elasticity, and
security. Many organizations across the world already benefit from cloud deployment and have
fully moved to the Azure cloud. They deploy business applications and run their business on the
cloud. As a result, their data is stored in cloud storage and cloud applications.

Microsoft Azure offers a cloud analytics stack that helps us to build modern analytics solutions,
extract data from on-premises and the cloud, and use data for decision-making progress, searching
patterns in data, and deploying machine learning applications.

In this chapter, we will meet Azure data platform services and the main cloud data integration
service – Azure Data Factory (ADF). We will log in to Azure and navigate to the Data Factory
service in order to create the first data pipeline and run the copy activity. Then, we will do the
same exercise but will use different methods of data factory management and control by using
Python, PowerShell, and the Copy Data tool.

If you don’t have an Azure account, we will cover how you can get a free Azure account.

In this chapter, we will cover the following recipes:

• Introduction to the Azure data platform


• Creating and executing our first job in ADF
• Creating an ADF pipeline using the Copy Data tool
• Creating an ADF pipeline using Python
2 Getting Started with ADF

• Creating a data factory using PowerShell


• Using templates to create ADF pipelines
• Creating an Azure Data Factory using Azure Bicep

Introduction to the Azure data platform


The Azure data platform provides us with a number of data services for databases, data storage,
and analytics. In Table 1.1, you can find a list of services and their purpose:

Figure 1.1: Azure data platform services


Random documents with unrelated
content Scribd suggests to you:
“I will shoot you,” repeated this uncompromising person, “without any
hesitation. I have a verra high opeenion of your powers, Mr.
Bransford, and have no mind to come to grips wi’ you. You will keep
your distance, and we will agree fine.”
“All this is like to be very tiresome to you.” Jeff’s tones were level and
cheerful; he leaned back in his chair, yawning; his hands were
clasped behind his head. “Such constant vigilance will be a strain
upon you; your nerves will be affected. I will have by far the best of it.
I can sleep, read, think. But if you turn your head, if you close your
eyes, if you so much as falter in your attention,” said Jeff
dispassionately, “my fingers will be at your throat to tear your life out
for the dog that you are!”
“Why, now we understand each other perfectly,” returned Mac, in
nowise discomposed. “But I would have ye to observe that your last
remark was highly discourteous. My instructions are not yet ended.
Look now!” He held up his hand, with three fingers still tightly closed
to indicate three several unhesitancies. “Our last instruction was to
treat you with ceeveelity and consideration, to give you any
indulgence which would not endanger your safe keeping, to subject
you to no indignity or abuse.” He folded down the fourth finger and
extended his closed hand, thrusting out his thumb reproachfully. “To
no abuse!” he repeated.
“I am properly rebuked,” said Jeff. “I withdraw the ‘dog.’ Let me
amend the offending remark to read thus: ‘to tear out your life
without any hesitation.’ But even the remarkable foresight of Judge
Thorpe seems to have overlooked one important thing. I refer to the
possible corruption of my jailers. Do I likewise forfeit my life if I
tamper with your integrity?”
His grim guardian chose to consider this query as extremely
facetious. His leathern face wrinkled to cavernous gashes, indicative
of mirth of a rather appalling sort; he emitted a low rumble that might
be construed, in a liberal translation, as laughter; his words took on a
more Scottish twist. “You might try it on Borrowman,” he said. “Man,
you’ve a taking way with you! ’Tis fair against my advice and sober
judgment that ye are here at all—but I am begeening to feel your
fasceenations! Now that ye’re here I e’en have the hope that ye will
be weel advisit. I own it, I would be but loath to feed so gay and so
plain-dealing a man to the feeshes!”
These two had many such skirmishes as the days went by: slow,
dragging days, perpetually lamp-lit, their passage measured only by
the irregularly-changing guards and the regular bringing in of the
daily papers.
Jeff timed his sleeping hours to come on Borrowman’s trick; finding
that jailer dull, ferocious and unendurable. His plan was long since
perfected, and now he awaited but the opportunity of putting it into
execution.
The Judge had called—as a medical adviser, he said—pronounced
Jeff’s progress all that could be desired, and touched upon their
affair with argument, cajolery and airy badinage. Jeff had asked
permission to write to his wife, to send some message, which the
Judge might dictate; any sort of a story, he implored, to keep her
from alarm and anxiety; which petition the Judge put merrily by,
smiling at the absurdity of such request.
In his waking hours Jeff read the papers. Tillotson was mending, his
trial would be soon. He read his books, sometimes aloud; he chaffed
his jailer; he practised on the typewriter, but never, in his practice,
wrote off any appeal for aid to good men and true, or even the
faintest suggestion that a quick move by the enemy would jeopardize
any possible number of gunboats. Instead, Jeff undertook to produce
another “speed sentence.” He called Mac to his assistance,
explaining his wants; and between them, with great glee, they
concocted the following gem:
He kept vexing me with frantic journeys hidden by quiet zeal.
They showed this effusion to the Judge with much pride, defying him
to better it. Jeff pounded it off by the hour; he mingled fragments of it
with his remarks in season and out.
There were long visits from the Judge. In his own despite Jeff grew
to enjoy them and to look forward to them—so strange a thing is
man! The Judge was witty, cynical, informed, polished, keen,
satirical. At times Jeff almost forgot what thing he was besides. Their
talk ranged on many things, always in the end coming back to the
same smiling query, the same unfaltering reply. Once, Patterson
came with him—a younger man, with a brutal and bloated face—and
urged the closing of the incident in clear and unmistakable terms.
And, as day followed day, Jeff let it appear—as a vital part of his plan
—in his speech, his manner, his haggard looks, that danger,
suspense and confinement were telling upon him, that he was
worried and harassed, that he was losing his nerve. These things
appeared slowly, lest he should seem to weaken too soon and too
easily.
Chapter VII

“And when ’e downs ’is ’ead and ’umps ’is back, ye cawn’t
remain, y’ know!”

—Beresford on the Bronco.

“MY iron-headed friend,” said the Judge—“and I use the word in


more senses than one—you have now had ample time for
deliberation. I have given you the opportunity to choose—life——”
No menace, no violence, could have left an impression so strong, so
dreadful in its finality, as this brief ellipsis, the casual, light-hearted
manner.
“——at no slight risk to myself. Because, the admiration, the liking
which I have professed to you is real and sincere enough, though,
perhaps, none of the deepest. I will be quite frank with you, Mr.
Bransford; that liking, that admiration has grown with our
acquaintance. A weakness; I admit it; it would be with a real regret
that I should speak the word to cut that acquaintance short. I will be
so much further frank with you as to say that I fancy I can sufficiently
steel myself to speak that word should you again refuse good
counsel. This may be the last of our pleasant meetings. For the last
time, in the words of your favorite writer: ‘Under which king,
Bezonian? Speak, or die!’”
Jeff’s hands gripped visibly at his chair-arms, so that the Judge
observed it—as was intended—and smiled. But Jeff gave his answer
quietly: “I can’t do it. If you had killed Tillotson outright I might, to
save my life, keep silence and let you go unpunished. But I can’t do
this.”
“You mean you won’t,” said the Judge acidly.
“I mean that I can’t,” said Jeff. “I would if I could, but I can’t.”
“By Heavens, I believe you will stick to it!” said the Judge, greatly
disappointed. “Had you couched your refusal in some swelling
phrase—and I can think of a dozen sonorous platitudes to fit the
case—I might yet have hopes of you. I believe, sir, that you are a
stubborn fellow. The man is nothing to you!”
“The man is much to me,” returned Jeff. “He is innocent.”
“So, I believe, are you. How will it help him for you to die? And so
obscurely, too! I think,” said the Judge gently, flicking at his cuff, “that
you mentioned a wife? Yes? And children? Two, I think. Two boys?”
His elbows were upon the table, his white hands were extended
upon the table, he held his head a little to one side and contemplated
his fingers as they played a little tune there, quite as if it were a
piano.
Jeff’s face worked; he rose and paced the floor. Mac, by the door,
regarded him with something very like compassion in his hard face.
The Judge watched him with feline amusement.
When he came back he passed by his chair; he stood beside the
table, resting his fingers lightly on the typewriter frame. “Life is dear
to me,” he said, with a slight break in his voice. “I will make this one
concession. More I will not do. Tillotson’s trial is half over; the verdict
is certain; there are powerful influences at work to insure the denial
of an appeal and to hasten his execution. If you can keep me here
until after his execution I will then—to save my life, for my wife’s
sake, for my children’s sake—keep silence. And may God forgive me
for a compromiser and a coward!” he added with a groan. “But if,
before that, I can make my escape; if, before that, I can in any way
communicate with the outside world, I will denounce you, at any cost
to myself.”
The Judge would have spoken, but Jeff held up his hand. “Wait! I
have listened to you—listen now to me. You have forgotten that
there are two sides to every bargain. You sit directly between me and
Mac, your hands are upon the table, your feet are beneath the table,
the typewriter is at my hand. Do not move! If Mac stirs but an inch, if
you dare raise a finger, until you have agreed to my proposition, by
the God that made me, I will crush your skull like an egg!”
“Had ye wrung his neck off-hand, as I urgit upon ye frae the first——”
The words came bitterly from Mac, sitting rigid in his corner—“this
wadna have chancit.” His tones conveyed a singular mixture of
melancholy and triumph; the thickening of his Scotch burr betrayed
his agitation. “Be guidit by me noo at the last, Judge, and tak the daft
body’s terms. In my opeenion the project of smashin’ your head wi’
the machine is enteerly pract’ecable, and I think Mr. Bransford will
e’en do it. Why should he no? A dead man has naught to fear. My
gude word is, mak treaty wi’ him and save your——”
“Neck. For this time,” hinted Jeff delicately.
The Judge did not shrink, he did not pale; but neither did he move.
“And your presentiment that you would see me hanged? You have
abandoned that, it seems?”
“Not at all, not at all,” said Jeff, cheerily. “You are going to do just
what I propose. You’d rather take the chance of having your neck
broken legally than the certainty that I’ll break it now.”
“With that thing? Humph! You couldn’t hurt me much with that. I think
I could get up and away before you could hit me with it. And Mac
would certainly shoot you before you could hit me a second time.”
“Once will be a-plenty.” Bransford laughed. “You go first, I beseech
you, my dear Alphonse! O no, Judge—you don’t think anything of the
kind. If you did you’d try it. Your legs—limbs, I mean of course—are
too far under the table. And I’ve been practising for speed with this
machine every day. What Mac does to me afterward won’t help you
any. You’ll be done dead, damned and delivered. If he could shoot
me now without shooting through you, it would be a different
proposition. Your mistake was in ever letting me line you up. ‘Tit, tat,
toe—Three in a row!’ Well, what are you going to do about it?”
“Oh, man, ye chargit me streectly to keep this wild cat-a-mountain at
his distance,” interrupted Mac in mournful reproach, “and then pop
ye down cheek by jowl wi’ the deil’s buckie your ainsel’. I’d as lief
seat me to sup wi’ the black devil and his muckle pitchfork!”
As often happens in such cases, the man who was in no immediate
danger was more agitated than the one imperiled; who, after a
moment’s reflection, looked up at Bransford with a smile in his eyes.
“And how am I to know you will not denounce me if I let you go after
this unfortunate Tillotson is hanged?” he demanded. “Or, for that
matter, how are you to know that I will not kill you as soon as I am
beyond the reach of your extremely novel weapon—which, I grant
you, might be effective at such close quarters and in such capable
hands—or that I will not have you killed at any time hereafter? This,”
said the Judge, picking his words leisurely and contemplating his fine
fingers with unreserved approval, “is the crux of the very interesting
situation. Rigid moralists, scrutinizing the varied actions of my life,
might find passages not altogether blameless. But I have always
held and maintained that a man should keep faith where it is
expressly pledged. This is the bedrock upon which is based all
relations of man with man, and to no class is it so needful as to those
who are at variance with society. If a man will not hold by his plighted
word, even to his hurt, he has lost all contact with reality and is
become henceforth no actuality, but a vain and empty simulacrum,
not to be dealt with, useless either for good or evil. Here, for
instance, are we, two intelligent men, confronting mutual instant
annihilation; which might be avoided could each be perfectly sure the
other would keep his word! It is quite amusing!”
“I will take your word if you will take mine,” said Jeff. “You should
know who runs the greater risk. But I have a stipulation to make.”
The Judge arched his brows. “A stipulation? Another? My volatile
and resourceful friend, do not ask too much. It is by no means
certain that your extraordinary missile—or was it to be a war-club?—
might not fail of the desired effect. You have already stipulated for
your life, and I think,” said the Judge dryly, “that if you have any other
demand to make, it had best be a modest one.”
“I do not choose,” said Jeff steadily, “that my wife shall suffer
needless anxiety—unneeded if you set me free at last. Still less do I
choose, if I meet with foul play at your hands, or if I should be killed
attempting an escape, to have her haunted by any doubt of me. I
shall write to her that I am in Old Mexico, in some part known to be
dangerous, tempted by high pay. You will send it to be mailed down
there. Then, if I do not come back, she will think of me as honorably
dead, and be at peace.”
It came into the Judge’s active mind that such a letter—dated and
signed from some far-off Mexican town—might, in some
contingencies, be useful to him; his bold, blue eyes, which had faced
an imminent death firmly enough, dropped now to hide the
treacherous thought. And upon this thought, and its influence upon
sending the letter, Jeff had counted from the first.
“There are other reasons,” said Jeff. “You have been pleased to
speak well of me. You have boasted, both for yourself and for me,
enough and more than enough. Let me now boast for myself. Has it
never occurred to you that such a man as I am would have friends—
formidable friends? That they are wondering what has become of
me? If you agree to my arrangement, I have a chance of saving both
my life and some shreds of decency. I do not now want my friends to
come in search of me and get me killed in trying to rescue me—for
you will, of course, redouble your precautions after this. This letter
will put my friends at ease. I will have to trust you to mail it. That is
the weakness of my position. But I will think that there is a chance
that you will mail it—and that chance will help me to keep a quiet
mind. That much, at least, will be a clear gain. Do this, and I will yield
a point to you. If you would rather I didn’t, I will not go to see you
hanged!”
The amazing effrontery of this last coaxing touch so appealed to
Judge Thorpe’s sense of humor that he quite recovered his good
nature. “My dear boy,” he said, “if I should ever be hanged, I wouldn’t
miss having you there for worlds. It would add a zest to the occasion
that I should grieve to lose. I will agree unconditionally to your
proposed modus vivendi. As I understand it, if I can hang Tillotson
you are to keep silence and go free. But if you can contrive to get me
hanged you are to attend the festivity in person? It is a wager. Write
your letter and I’ll mail it. Of course, I’ll have to read it and edit it if
needed. And say—Bransford! I’ll mail it, too! You can be at rest on
that point. In the meantime, I presume, I may move without bringing
the typewriter about my ears?”
“You may,” said Jeff. “It’s a bet. I wish you’d wait and I’ll write the
letter now. She’ll be anxious about me. It’ll take some time. I always
write her long letters. Let me have your fountain-pen, will you?”
“Why don’t you use your typewriter?” said the Judge. “And, by the
way, I fear we shall have to deprive you of your typewriter in the
future.”
“A typewritten letter wouldn’t be consistent at all,” said Jeff. “I am
supposed to be writing from darkest Old Mexico. No typewriters
there. Besides, I can’t write with the damn thing to do any good. Say,
don’t take it away from me, Judge; there’s a good fellow. I want to
master it. I do hate to be beaten.”
“The elasticity with which you adjust yourself to changing conditions
is beyond all praise,” said the Judge, smiling. “Like the other Judge,
in the Bible, I yield to importunity. I can deny you nothing. Keep your
typewriter, then, with the express understanding that its use as a
deadly weapon is barred. Here’s the pen.”
Chapter VIII

“Alice’s Right Foot, Esq.,


Hearthrug,
Near the Fender,
(With Alice’s love).”

“O, there be many systems


But only one that wins—
When leading from your strongest suit,
Just kick your partner’s shins.”

—Hoyle.

JEFF pulled the paper over and began to scribble madly; pausing
from time to time to glance around for inspiration: at the Judge, at
Mac, at the papers, the books, the typewriter. “I’ll slip in a note for the
kids,” said Jeff. His lips moved, his eyes kindled in his eager
absorption; his face took on a softer and tenderer look. The Judge,
watching him, beamed with almost paternal indulgence.
On the whole Jeff wrote with amazing swiftness for a man who
professed to be unaccustomed to lying. For this communication,
apparently so spontaneous, dashed off by a man hardly yet clear of
the shadow of death, was learned by rote, no syllable
unpremeditated, the very blots of it designed.
This is what he handed the Judge at last:
San Miguel, Chihuahua, March 24.
My dear Wife:
Since I last wrote you I have been on a long trip into the
Yaqui country as guide, interpreter and friend to a timid
tenderfoot—and all-round sharp from the Smithsonian. His
main lay is Cliff-Dweller-ology, but he does other stunts—
rocks and bugs and Indian languages, and early Spanish
relics.
I get big pay. I enclose you $100——
“A hundred dollars! Why, this is blackmail!” remonstrated the Judge,
grinning nevertheless.
“But,” said Jeff, “I’ve got to send it. She knows I wouldn’t stay away
except for good big pay, and she knows I’ll send the big pay to her. I
didn’t think you were a piker. Why, I had thirty dollars in my pocket.
You won’t be out but seventy. And if you don’t send it she’ll know the
letter is a fake. Besides, she needs the money.”
“I surrender! I’ll send it,” said the Judge, and resumed his reading:
——and will send you more when I get back from next trip.
Going way down in the Sierra Madre this time. Don’t know
when we will hit civilization again, so you needn’t write till
you hear from me.
The Cliff-Dweller-ologist had the El Paso papers sent on
here to him and I am reading them all through while he
writes letters and reports and things. I am reading some of
his books, too.
Mary, I always hated it because I didn’t have a better
education. I used to wonder if you wasn’t sometimes
ashamed of me when we was first married. But I’ve
learned a heap from you and I’ve picked up considerable,
reading, these last few years—and I begin to see that
there are compensations in all things. I see a good deal in
things I read now that I would have missed if I’d just
skimmed over the surface when I was younger. For
instance, I’ve just made the acquaintance of Julius Cæsar
—introduced by my chief.
Say, that’s a great book! And I just know I’m getting more
out of it than if I’d been familiar with it ever since I was a
boy, with stone-bruises on my hoofs. I’ve read it over two
or three times now, and find things every time that I didn’t
quite get before.
It ought to be called Yond Caius Cassius, though.
Shakspere makes Julius out to be a superstitious old
wretch. But Julius had some pretty good hunches at that.
Of course Mark Antony’s wonderful speech at the funeral
was fine business. Gee! how he skinned the “Honorable
men!” Some of the things he said after that will stand
reading, too.
But Yond Cassius, he was the man for my money. He was
a regular go-getter. If Brutus had only hearkened to
Cassius once in a while they’d have made a different play
of it. I didn’t like Brutus near so well. He was a four-flusher.
Said he wouldn’t kill himself and sure enough he did. He
was set up and heady and touchy. I shouldn’t wonder if he
was better than Cassius, just morally. I guess maybe that’s
why Cassius knuckled down to him and humored him so.
But intellectually, and as a man of action, he wasn’t ace-
high to Cassius.
Still there’s no denying that Brutus had a fine line of talk.
There was his farewell to Cassius—you remember that—
and his parting with his other friends.
I’ve been reading Carlyle’s “French Revolution” too. It’s a
little too deep for me, so I take it in small doses. It looks to
me like a great writer could take a page of it and build a
book on it.
Well, that’s all I know. Oh, yes! I tried to learn typewriting
when I was in El Paso—I musn’t forget that. I made up a
sentence with all the letters in it—he kept vexing me by
frantic journeys hidden with quiet zeal—I got so I could
rattle that off pretty well, but when I tried new stuff I got
balled up.
Will write you when I can. George will know what to do
with the work. Have the boys help him.
Your loving husband,
Jeff.
Dear Kids:
I wish you could see some of the places I saw in the
mountains. We took the train to Casas Grandes and went
with a pack outfit to Durasno and Tarachi, just over the line
into Sonora. That’s one fine country. Had a good time
going and coming, but when we got there and my chief
was snooping around in those musty old underground
cave houses I was bored a-plenty. One day I remember I
lay in camp with nothing to do and read every line of an
old El Paso paper, ads and all.
Leo, you’re getting to be a big boy now. I want you to get
into something better than punching cows. When you get
time you ought to go down to your Uncle Sim’s and make
a start on learning to use a typewriter. I’ve been trying it
myself, but it’s hard for an old dog to learn new tricks.
You and Wesley must both help your mother, and help
George. Do what George tells you—he knows more about
things than you do. Be good kids. I’ll be home just as soon
as I can.
Dad.
“There,” said Jeff, “if there’s anything you want to blue-pencil I’ll write
it over. Anything you want to say suits me so long as it goes.”
“Why, this seems all right,” said the Judge, after reading it. “I have an
envelope in my billbook. Address it, but don’t seal it. You might
attempt to put in some inclosure by sleight-of-hand. If you try any
such trick I shall consider myself absolved from any promise. If you
don’t, I’ll mail it. I always prefer not to lie when I have nothing to gain
by lying. Bless my soul, how you have blotted it!”
“Yes. I’m getting nervous,” said Jeff.
The envelope bore the address:
MRS. JEFF BRANSFORD,
Rainbow South,
Escondido, N. M.

c/o William Beebe.


“Of course you will do as you like,” remonstrated Patterson, later.
“But I shouldn’t send that letter, and I should, without any further
delay, erase Mr. Bransford’s name from the list of living men.”
“Tush!” said the Judge. “The letter is harmless. The man is a
splendid fighter, and has some practical notion of psychology, but the
poor fellow has no imagination. In his eagerness, he made his letter
up on the spur of the moment. There is scarcely a line in it but was
suggested by his surroundings. His haste and affection made him
transparent; I followed the workings of his mind and, except for
personalities, anticipated practically all of it.
“As for killing him, I shall do nothing of the kind. I made a bargain
with him in the very article of death and I shall keep to it. He cannot
escape; it is not possible. Besides, I like the man. Hang it, Patterson,
he is what I would wish my son to be, if I had one. I’ll not kill him and
I’ll send his letter.”
He did send it. It reached Billy Beebe some days later, to his no
small mystification—Jeff Bransford was unmarried. Yet the address
was indubitably in Jeff’s handwriting. Taking Leo Ballinger into
consultation, he carried it unopened to John Wesley Pringle; taking
also a letter for that person, bearing an El Paso postmark many days
earlier than the one for the mysterious Mrs. Bransford. Both had lain
long in the Escondido office before any one passed going to
Rainbow, so the two letters reached there together.
Pringle’s letter was brief:
El Paso, Texas, March 20.
Mr. John Wesley Pringle,
Rainbow, N. M.
Dear Sir:
Your friend, Mr. Jeff Bransford, came here some time
since on some business with Mr. Simon Hibler—whose
clerk I am. Mr. Hibler was on a trip to San Simon, Arizona,
and I did not know exactly when he would return. Mr.
Bransford decided to wait for him. We became great
friends and he rather made his headquarters with me. He
told me a great deal about you.
On the night of March 16th, Mr. Bransford was with me
until almost midnight, when he started for his rooms. So
far as I can learn he has not been seen or heard of since;
his effects are still at his lodgings. He did not take the
street car home. I inquired carefully of all the men.
It is now the fourth day since his disappearance and I am
much distressed. I have lodged information with the police
—but, between you and me, I don’t feel any enthusiasm
about the police.
If you have any knowledge of his whereabouts I wish you
would be so kind as to drop me a line. If you know
nothing, I hope that you and the other friends he spoke of
so often would come down, and I will put myself at your
orders. I am uneasy. As you doubtless know, this is one
awful tough town.
Trusting to hear good news at an early date, I remain,
Yours truly,
Geo. T. Aughinbaugh.
112 Temple Street.
On reading this John Wesley took it upon himself to open the letter
for the non-existent Mrs. Bransford. From that cryptic document they
gathered three things only. First, Jeff was under duress; his letter
was written to pass inspection by hostile eyes. Second, Leo Ballinger
was to visit Uncle Sim and to learn typewriting. Third, George would
tell them what to do. There was no George at Rainbow; Leo’s only
uncle, Simon Hibler, lived in El Paso, his clerk’s name was George.
The inference was plain.
The next day the three friends presented themselves at 112 Temple
Street.
Chapter IX
“And so these men of Indostan
Disputed loud and long,
Each in his own opinion
Exceeding stiff and strong.”
SO singular an effect did Mrs. Bransford’s letter have upon Mr.
George Aughinbaugh that he went red and white by turns, and
became incoherent in excited endeavor to say a number of different
things at one and the same time; so that Mr. John Wesley Pringle
was moved to break off in his reading, to push Mr. Aughinbaugh into
a chair, and to administer first aid to the distracted from a leather-
covered bottle.
“Take a sip o’ this. One swallow will make you simmer,” he said
earnestly. “Old Doctor Pringle’s Priceless Prescription, a sovereign
remedy for rattlesnake bites, burns, boils, sprains and bruises, fits,
freckles and housemaid’s sore knee; excellent for chilblains,
sunburn, congestion of the currency, inflammation of the ego, corns,
verbosity, insomnia, sleeplessness, lying awake and bad dreams,
punctuality, fracture of the Decalogue, forgetfulness, painful memory,
congenital pip, the pangs of requited affection, mange, vivacity, rush
of words to the head, old age and lockjaw.
“I know that Jeff is in one big difficulty, and I see that you understand
what his letter means, which is more than I do. Speak up! Say, state
and declare what lies heavy on your mind. Tell us about it. If you
can’t talk make signs.”
Neither this speech nor the restorative served wholly to dispel
Aughinbaugh’s bewilderment. He looked at Mr. Pringle in foggy
confusion, holding fast to the panacea, as if that were the one point
on which he was quite clear. Seeing which, Mr. Pringle, somewhat
exasperated, renewed his eulogy with increased energy and
eloquence. “It is also much used in cases of total depravity,
contributory negligence, propinquities, clergyman’s sore throat,
equilateral strangulation and collar galls, veracity, pessimism, Scylla
and Charybdis, stuttering, processions of equine oxen and similar
phenomena, insubordination, altitude, consanguinity, chalcedony,
irritation of the Ephemeridæ, symmetry, vocalization, mammalia,
clairvoyance, inertia, acrimony, persecution, paresis, paraphernalia,
perspective, perspiration, tyranny, architecture and entire absence of
mind—take another dose!” He cast an appealing glance around. “I
can’t get at what Jeff’s trying to say,” declared Mr. Pringle with some
asperity, “but if I could, I’m damned if I couldn’t tell it! Speak up! Play
it out on the typewriter.”
Acting upon this hint, Aughinbaugh turned to the typewriter and
clattered furiously on the keys. He took off two sheets and spread
them on the table, face to face, so that one sheet covered all of the
other but the first two lines. “There!” he said, pointing. Beebe read
aloud:
“‘Now is the time for all good men and true to come to the
aid of the party.
A quick move by the enemy will jeopardize six fine
gunboats.’”
“He spoke twice—once in each letter,” said George Aughinbaugh, “of
learning to use the typewriter. He gave a speed sentence that he had
made up, containing the entire alphabet. These are similar
sentences, used by nearly every one who learns to typewrite. Jeff
was familiar with them. He practised the first one by the hour. I gave
him the second one the last night he was here. He is calling on us to
come to his help; he is warning us to be careful, that one
unconsidered move on our part, ‘a quick move,’ will be dangerous to
him. Taken in connection with the other allusions in his letter, and to
things that I know outside of his letter, it probably means that such a
quick move might be fatal to him. He is imprisoned—not legally;
secretly—and in great danger. Of course, parts of his letter are only
padding to introduce and join plausibly the vital allusions so that his
captors would allow the letter to go. The allusions are not
consecutive. When he speaks of——”
“Hold on, old man; you’re getting all balled up again,” said Pringle.
“Suppose, first of all, you tell us, as clearly as you can, exactly what
you understand him to mean, just as if he had written it to you direct,
without any parables. Then you can explain to us how you got at it,
afterwards.”
George walked the room, rearranged his thoughts and, in the
process, mastered his agitation.
Finally he faced the three friends and said: “He is in prison, in
Juarez, the victim of a conspiracy. He is in utmost danger; he is
closely guarded; the persons involved have such powerful reasons
for holding him that they would kill him rather than allow him to be
rescued. What we do must be done with the greatest caution; his
guards must not have the slightest suspicion that a rescue is
attempted, or planned, or possible, till it is carried out. In addition to
this he tells us that we are to communicate with him by means of the
personal columns of the El Paso papers——”
“I got that,” said Pringle, “but that is about all I did get. Of course, we
all figured it out that we were to come to you for instructions, and that
there was something about a typewriter we wanted to look into. That
was plain enough. There, I’m talking with my mouth. Go on!”
“And, in his great danger and distress, he sends you—to Mr. Pringle
first, and then to all of you—a last and tenderest farewell, and the
strong assurance of his faith that you will do for him all that men can
do.”
“Good God!” exclaimed Leo. “And was there no hint of who it was
that had done this?”
“There was!” said Aughinbaugh, with sparkling eyes. “It was two
well-known, wealthy and influential El Paso men—the Honorable S.
S. Thorpe and Sam Patterson.”
“Show me!” said Pringle—“though I begin to see.”
“Half the letter is taken up by comment on the play of Julius Cæsar,
which he and I had been reading together,” said George. “He tells us
plainly, over and over, in different words, to look in it for meanings
beneath the surface. You remember that?”
“Yes,” said Billy.
“Well, the play hinges upon the conspiracy of Brutus and Cassius—a
conspiracy carried out on the Ides of March. Look!” He moved the
paper to expose another line:
Remember March, the Ides of March remember!
“Not till then did I remember that the sixteenth of March, the day on
which Jeff disappeared, was—not indeed the Ides of March, the
fifteenth, but devilish close to it, close enough. So what he says is:
‘George, remember—think carefully—remember exactly what took
place the day you saw me last.’
“He left my rooms just before midnight. And at midnight exactly, as
sworn to by many people, at a spot about a mile from here—at a
spot which Jeff might have reached at just that time—something
happened: a street fight in which two men were killed, and the
survivor, Captain Charles Tillotson, was wounded. Have you, by any
chance, read the evidence in the Tillotson case?”
“Every word of it,” said Billy. “We read the full account of the trial at
Escondido yesterday, while we were waiting for the train.”
“Good! Good! That simplifies matters. Think closely—keep in your
minds the evidence given at that trial—while I follow Jeff up after he
left my door. He must have gone somewhere, you know—and he
said he was going home. He usually took the car, but I have already
told you that he didn’t that night.
“Now, my rooms are two blocks north of the street-car line; Jeff’s
were three blocks south, and a long way up toward town. The corner
of Colorado and Franklin, where the fight took place, was on one of
the several routes he might have taken. And, if he had chosen that
particular way, he would have reached the scene of the shooting
precisely in time to get mixed up in it. I ought, by all means, to have
thought of that before, but I didn’t—till my wits were sharpened trying
to make out Jeff’s letter.
“Tillotson, you remember, claims that Krouse shot him without cause
or warning; that he, himself, only fired in self-defense; that a fourth
man killed Broderick—a fourth man who mysteriously disappeared,
as Jeff did.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like