SQL Server Big Data Clusters : Data Virtualization, Data Lake, and AI Platform Benjamin Weissman download
SQL Server Big Data Clusters : Data Virtualization, Data Lake, and AI Platform Benjamin Weissman download
https://textbookfull.com/product/sql-server-big-data-clusters-
data-virtualization-data-lake-and-ai-platform-benjamin-weissman/
https://textbookfull.com/product/sql-server-2019-revealed-
including-big-data-clusters-and-machine-learning-bob-ward/
https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-
loucas/
https://textbookfull.com/product/quick-start-guide-to-azure-data-
factory-azure-data-lake-server-and-azure-data-warehouse-1st-
edition-mark-beckner/
https://textbookfull.com/product/sql-server-data-automation-
through-frameworks-building-metadata-driven-frameworks-with-t-
sql-ssis-and-azure-data-factory-andy-leonard/
Data Lake Analytics on Microsoft Azure: A
Practitioner's Guide to Big Data Engineering Harsh
Chawla
https://textbookfull.com/product/data-lake-analytics-on-
microsoft-azure-a-practitioners-guide-to-big-data-engineering-
harsh-chawla/
https://textbookfull.com/product/data-analytics-for-business-ai-
ml-pbi-sql-r-wolfgang-garn/
https://textbookfull.com/product/data-mining-and-big-data-ying-
tan/
https://textbookfull.com/product/health-4-0-how-virtualization-
and-big-data-are-revolutionizing-healthcare-1st-edition-
christoph-thuemmler/
https://textbookfull.com/product/data-lake-architecture-
designing-the-data-lake-and-avoiding-the-garbage-dump-first-
edition-bill-inmon/
SQL Server
Big Data Clusters
Data Virtualization, Data Lake, and
AI Platform
—
Second Edition
—
Benjamin Weissman
Enrico van de Laar
SQL Server Big Data
Clusters
Data Virtualization, Data Lake,
and AI Platform
Second Edition
Benjamin Weissman
Enrico van de Laar
SQL Server Big Data Clusters: Data Virtualization, Data Lake, and AI Platform
Benjamin Weissman Enrico van de Laar
Nurnberg, Germany Drachten, The Netherlands
Introduction�������������������������������������������������������������������������������������������������������������xv
v
Table of Contents
Others���������������������������������������������������������������������������������������������������������������������������������� 140
The SqlDataPool������������������������������������������������������������������������������������������������������������������ 141
Indexes on the SqlDataPool������������������������������������������������������������������������������������������������� 143
Summary���������������������������������������������������������������������������������������������������������������������������������� 145
vii
Table of Contents
Index��������������������������������������������������������������������������������������������������������������������� 253
viii
About the Authors
Benjamin Weissman is the owner and founder of Solisyon, a consulting firm based in
Germany and focused on business intelligence, business analytics, data warehousing, as
well as forecasting and budgeting. He is a Microsoft Data Platform MVP, the first German
BimlHero, and has been working with SQL Server since SQL Server 6.5. If he’s not
currently working with data, he is probably traveling and exploring the world, running,
or enjoying delicious food. You can find Ben on Twitter at @bweissman.
Enrico van de Laar has been working with data in various formats and sizes for over
15 years. He is a data and advanced analytics consultant at Dataheroes where he helps
organizations get the most out of their data. Enrico is a Microsoft Data Platform MVP
since 2014 and a frequent speaker at various data-related events all over the world.
He writes about a wide variety of Microsoft data-related technologies on his blog at
enricovandelaar.com. You can reach Enrico on Twitter at @evdlaar.
ix
About the Technical Reviewer
Mohammad Darab is a data professional with over
20 years of IT experience, 10 years of that working with SQL
Server. He’s a speaker, blogger, and a self-proclaimed Big
Data Cluster advocate. Since the introduction of Big Data
Clusters in SQL Server 2019, Mohammad has been actively
advocating what he calls “the future of SQL Server” through
his social media outlets and blog at MohammadDarab.com.
When he’s not creating Big Data Cluster content, he’s
spending time with his wife and their three kids in their
home in Virginia.
xi
Acknowledgments
As with every publication, a big THANK YOU goes to our families for the support they
gave us during this time-consuming process!
Also, thank you very much to Mohammad for his support by reviewing this book!
We would also like to thank the Microsoft SQL Server product team for helping us
out whenever we had a question or ran into situations we didn’t quite understand. JRJ,
Travis, Buck, Mihaela, and all the others – you rock!
Last but not least, thank you #sqlfamily – your ongoing support, feedback, and
motivation is what keeps us going when it comes to exploring and talking about exciting
technologies like Big Data Clusters!
xiii
Introduction
When we first started talking about writing a book about SQL Server Big Data Clusters,
it was still in one of its first iterations. We both were very excited about all the
technologies included in the product and the way it could potentially change the field
of data processing and analytics. Little did we know how much changes the product
was going to receive while we were writing this. Ultimately this resulted in us almost
rewriting the entire book on a monthly basis. While this was a massive endeavor, it also
allowed us to follow, and document, everything the product went through during its
development. Now that the final product has shipped, we thought it was about time to
provide an updated version that reflects everything that Big Data Clusters is today; the
result is the book in front of you right now!
SQL Server Big Data Clusters is an incredibly exciting new platform. As mentioned
earlier, it consists of a wide variety of different technologies that make it work.
Kubernetes, HDFS, Spark, and SQL Server on Linux are just some of the major players
inside a Big Data Cluster. Besides all these different products combined into a single
product, you can also deploy it on-premises or in the Azure cloud depending on your
use case. As you can imagine, it is near impossible for a single book to discuss all these
different products in depth (as a matter of fact, there are plenty of books available
that do go into all the tiny details for each individual product that is part of a Big Data
Cluster like Spark or SQL Server on Linux). For this reason, we have opted for a different
approach for this book and will focus more on the architecture of Big Data Clusters in
general and practical examples on how to leverage the different approaches on data
processing and analytics Big Data Clusters offer.
With this approach, we believe that while you read this book, you will be able to
understand what makes Big Data Clusters tick, what their use cases are, and how to get
started with deploying, managing, and working with a Big Data Cluster. In that manner
this book tries to deliver useful information that can be used for the various job roles
that deal with data – from data architects that would like more information on how Big
Data Clusters can serve as a centralized data hub to database administrators that want
to know how to manage and deploy databases to the cluster, data scientists that want to
train and operationalize machine learning models on the Big Data Cluster, and many
more different roles. If you are working with data in any way, this book should have
something for you to think about!
xv
Introduction
B
ook Layout
We split this book into nine separate chapters that each highlight a specific area, or
feature, of Big Data Clusters:
–– Chapter 4: “Loading Data into Big Data Clusters.” This chapter will
focus on data ingression from various sources unto a Big Data
Cluster.
xvi
Introduction
xvii
CHAPTER 1
1
© Benjamin Weissman and Enrico van de Laar 2020
B. Weissman and E. van de Laar, SQL Server Big Data Clusters,
https://doi.org/10.1007/978-1-4842-5985-6_1
Chapter 1 What Are Big Data Clusters?
Figure 1-1. Feature overview of SQL Server 2019 Big Data Clusters
The major aspects of Big Data Clusters are shown from left to right in Figure 1-1.
You have support for data virtualization, then a managed data platform, and finally an
artificial intelligence (AI) platform. Each of these aspects is described in more detail in
the remainder of this chapter.
D
ata Virtualization
The first feature within a SQL Server 2019 Big Data Cluster is data virtualization. Data
virtualization – unlike data integration – retains your data at the source instead of
duplicating it. Figure 1-2 illustrates this distinction between data integration and data
virtualization. The dotted rectangles in the data virtualization target represent virtual
data sources that always resolve back to a single instance of the data at the original
2
Chapter 1 What Are Big Data Clusters?
source. In the world of Microsoft, this resolution of data to its original source is done
via a SQL Server feature named PolyBase, allowing you to virtualize all or parts of your
data mart.
One obvious upside to data virtualization is that you get rid of redundant data as
you don’t copy it from the source but read it directly from there. Especially in cases
where you only read a big flat file once to aggregate it, there may be little to no use to
that duplicate and redundant data. Also, with PolyBase, your query is real time, whereas
integrated data will always carry some lag.
On the other hand, you can’t put indexes on an external table. Thus if you have data
that you frequently query with different workloads than on the original source, which
means that you require another indexing strategy, it might still make sense to integrate
the data rather than virtualize it. That decision may also be driven by the question on
whether you can accept the added workload to your source that would result from more
frequent reporting queries and so on.
3
Chapter 1 What Are Big Data Clusters?
Note While data virtualization solves a couple of issues that come with data
integration, it won’t be able to replace data integration. This is NOT the end of SSIS
or ETL .
Technically, PolyBase has been around since SQL Server 2016, but so far only
supported very limited types of data sources. In SQL Server 2019, PolyBase has been
greatly enhanced by support for multiple relational data sources such as SQL Server
or Oracle and NoSQL sources like MongoDB, HDFS, and all other kinds of data as we
illustrate in Figure 1-3.
4
Chapter 1 What Are Big Data Clusters?
Using PolyBase, you would write the same query more simply, as if the table were in
your local database. For example:
PolyBase will know that the table is in a different database because you will have
created a definition in PolyBase indicating where the table can be found.
An advantage of using PolyBase is that you can move MyDatabase to another server
without having to rewrite your queries. Simply change your PolyBase data source
definition to redirect to the new data source. You can do that easily, without harming or
affecting your existing queries or views.
There are more differences between the use of linked servers and PolyBase. Table 1-1
describes some that you should be aware of.
5
Chapter 1 What Are Big Data Clusters?
Note Our “cut in half” assertion may not be super accurate as you may not
have staged the full dataset anyway (reducing the savings) or you may have used
different datatypes (potentially even increasing the savings even more).
Think of this: You want to track the number of page requests on your website per
hour which is logging to text files. In a traditional environment, you would have written
a SQL Server Integration Services (SSIS) package to load the text file into a table, then
run a query on it to group the data, and then store or use its result. In this then new
virtualization approach, you would still run the query to group the data but you’d run
it right on your flat file, saving the time it would have taken to develop the SSIS package
and also the storage for the staging table holding the log data which would otherwise
have coexisted in the file as well as the staging table in SQL Server.
1
https://azure.microsoft.com/en-us/pricing/details/sql-server-stretch-database/
6
Chapter 1 What Are Big Data Clusters?
7
Chapter 1 What Are Big Data Clusters?
Now in many situations the schema-on-write approach is perfectly fine. You make
sure all your data is formatted in the way the relational databases expect it to be, and
you can store all your data inside of it. But what happens when you decide to add new
datasets that do not necessarily have a fixed schema? Or, you want to process data that
is very large (multiple terabytes) in terms of size? In those situations, it is frequently
advised to look for another technology to store and process your data since a relational
database has difficulties handling data with those characteristics.
Solutions like Hadoop and HDFS were created to solve some of the limitations
around relational databases. Big Data platforms are able to process large volumes of data
in a distributed manner by spreading the data across different machines (called nodes)
that make up a cluster architecture. Using a technology like Hadoop, or as we will use in
this book Spark, allows you to store and process data in any format. This means we can
store huge CSV (comma-separated values) files, video files, Word documents, PDFs, or
whatever we please without having to worry about complying to a predefined schema
like we’d have to when storing data inside a relational database.
Apache’s Spark technology makes sure our data is cut up into smaller blocks and
stored on the filesystem of the nodes that make up a Spark cluster. We only have to worry
about the schema when we are going to read in and process the data, something that
is called schema-on-read. When we load in our CSV file to check its contents, we have
to define what type of data it is and, in the case of a CSV file, what the columns are of
the data. Specifying these details on read allows us a lot of flexibility when dealing with
this data, since we can add or remove columns or transform datatypes without having
to worry about a schema before we write the data back again. Because a technology
like Spark has a distributed architecture, we can perform all these data manipulation
and querying steps very quickly on large datasets, something we are explaining in more
detail in Chapter 2.
What you see in the real world is that in many situations organizations have both
relational databases and a Hadoop/Spark cluster to store and process their data. These
solutions are implemented separately from each other and, in many cases, do not “talk”
8
Chapter 1 What Are Big Data Clusters?
to each other. Is the data relational? Store it in the database! Is it nonrelational like CSV,
IoT data, or other formats? Throw it on the Hadoop/Spark cluster! One reason why we
are so excited over the release of SQL Server Big Data Clusters is that it combines both
these solutions into a single product, a product that contains both the capabilities of a
Spark cluster together with SQL Server. And while you still must choose whether you
are going to store something directly in the SQL Server database or store it on the HDFS
filesystem, you can always access it from both technologies! Want to combine relational
data with a CSV file that is stored on HDFS? No problem, using data virtualization we
described earlier in this chapter, you can read the contents from the CSV file from HDFS
and merge it with your relational data using a T-SQL query producing a single result!
In this sense, SQL Server Big Data Clusters are made up from technologies that
complement each other very well, allowing you to bridge the gap on how limited you
are in processing data based on the manner in which it is stored. Big Data Clusters
ultimately let you create a scalable and flexible data lake environment in which you
can store and process data in any format, shape, or size, even allowing you to choose
between processing the data using SQL Server or Spark, whichever you prefer for the
tasks you want to perform.
The Big Data Cluster architecture will also be able to optimize performance in terms
of data analytics. Having all data you require stored inside a single cluster, whether it is
relational or not, means that you can access it immediately whenever you require it. You
avoid data movement across different systems or networks, which is a huge advantage in
a world where we are constantly trying to find solutions to analyze data faster and faster.
If you ask us what the ultimate advantage of SQL Server Big Data Clusters is, we
firmly believe it is the ability to store, process, and analyze data in any shape, size, or type
inside a single solution.
Centralized AI Platform
As we described in the preceding section, SQL Server Big Data Clusters allow you to
create a data lake environment that can handle all types and formats of data. Next to
having huge advantages when processing, it naturally also has immense advantages
when dealing with advanced analytics like machine learning. Since all your data is
essentially stored in one place, you can perform tasks like machine learning model
training on all the data that is available on the Big Data Cluster, instead of having to
gather data from multiple systems across your organization.
9
Chapter 1 What Are Big Data Clusters?
By combining SQL Server and Spark, we also have multiple options available when
working with machine learning. We can choose to train and score machine learning
models through Spark directly by accessing data that is stored on the HDFS filesystem, or
use the In-Database Machine Learning Services available to us through SQL Server. Both
these options allow a wide variety in languages and libraries you, or your data science
team, can use, for instance, R, Python, and Java for SQL Server Machine Learning
Services, or PySpark and Scala when running your machine learning workload through
the Spark cluster.
In terms of use cases, Big Data Clusters can handle just about any machine learning
process, from handling real-time scoring to using GPUs in combination with TensorFlow
to optimize the handling of CPU-intensive workloads or, for instance, perform image
classification tasks.
10
CHAPTER 2
C
ontainers
A container is a kind of stand-alone package that contains everything you need to run an
application in an isolated or sandbox environment. Containers are frequently compared
to virtual machines (VMs) because of the virtualization layers that are present in both
solutions. However, containers provide far more flexibility than virtual machines. A
notable area of increased flexibility is the area of portability.
11
© Benjamin Weissman and Enrico van de Laar 2020
B. Weissman and E. van de Laar, SQL Server Big Data Clusters,
https://doi.org/10.1007/978-1-4842-5985-6_2
Chapter 2 Big Data Cluster Architecture
One of the main advantages of using containers is that they avoid the
implementation of an operating system inside the container. Virtual machines require
the installation of their own operating system inside each virtual machine, whereas with
containers, the operating system of the host on which the containers are being run is
used by each container (through isolated processes). Tools like Docker enable multiple
operating systems on a single host machine by running a virtual machine that becomes
the host for your containers, allowing you to run a Linux container on Windows, for
example.
You can immediately see an advantage here: when running several virtual machines,
you also have an additional workload of maintaining the operating system on each
virtual machine with patches, configuring it, and making sure everything is running
the way it is supposed to be. With containers, you do not have those additional levels
of management. Instead, you maintain one copy of the operating system that is shared
among all containers.
Another advantage for containers over virtual machines is that containers can be
defined as a form of “infrastructure-as-code.” This means you can script out the entire
creation of a container inside a build file or image. This means that when you deploy
multiple containers with the same image or build file, they are 100% identical. Ensuring
100% identical deployment is something that can be very challenging when using virtual
machines, but is easily done using containers.
Figure 2-1 shows some differences between containers and virtual machines around
resource allocation and isolation. You can see how containers reduce the need for
multiple guest operating systems.
12
Chapter 2 Big Data Cluster Architecture
A final advantage of containers we would like to mention (there are many more to
name, however, that would go beyond the scope of this book) is that containers can
be deployed as “stateless” applications. Essentially this means that containers won’t
change, and they do not store data inside themselves.
Consider, for instance, a situation in which you have a number of application
services deployed using containers. In this situation, each of the containers would run
the application in the exact same manner and state as the other containers in your
infrastructure. When one container crashes, it is easy to deploy a new container with
the same build file filling in the role of the crashed container, since no data inside the
containers is stored or changed for the time they are running.
The storage of your application data could be handled by other roles in your
infrastructure, for instance, a SQL Server that holds the data that is being processed by
your application containers, or, as a different example, a file share that stores the data
that is being used by the applications inside your containers. Also, when you have a
new software build available for your application servers, you can easily create a new
container image or build file, map that image or build file to your application containers,
and switch between build versions practically on the fly.
SQL Server Big Data Clusters are deployed using containers to create a scalable,
consistent, and elastic environment for all the various roles and functions that are
available in Big Data Clusters. Microsoft has chosen to deploy all the containers using
Kubernetes. Kubernetes is an additional layer in the container infrastructure that acts
like an orchestrator. By using Kubernetes (or K8s as it is often called), you get several
advantages when dealing with containers. For instance, Kubernetes can automatically
deploy new containers whenever it is required from a performance perspective, or
deploy new containers whenever others fail.
Because Big Data Clusters are built on top of Kubernetes, you have some flexibility in
where you deploy Big Data Clusters. Azure has the ability to use a managed Kubernetes
Service (AKS) where you can also choose to deploy Big Data Clusters if you so want to.
Other, on-premises options are Docker or Minikube as container orchestrators. We will
take a more in-depth look at the deployment of Big Data Clusters inside AKS, Docker, or
Minikube in Chapter 3.
Using Kubernetes also introduces a couple of specific terms that we will be using
throughout this book. We’ve already discussed the idea and definition of containers.
However, Kubernetes (and also Big Data Clusters) also frequently uses another term
13
Chapter 2 Big Data Cluster Architecture
called “pods.” Kubernetes does not run containers directly; instead it wraps a container
in a structure called a pod. A pod combines one or multiple containers, storage
resources, networking configurations, and a specific configuration governing how the
container should run inside the pod.
Figure 2-2 shows a simple representation of the node – pods – container architecture
inside Kubernetes.
Generally, pods are used in two manners: a single container per pod or multiple
containers inside a single pod. The latter is used when you have multiple containers
that need to work together in one way or the other – for instance, when distributing a
load across various containers. Pods are also the resource managed to allocate more
system resources to containers. For example, to increase the available memory for your
containers, a change in the pod’s configuration will result in access to the added memory
for all containers inside the pod. On that note, you are mostly managing and scaling
pods instead of containers inside a Kubernetes cluster.
Pods run on Kubernetes nodes. A node is the smallest unit of computing hardware
inside the Kubernetes cluster. Most of the time, a node is a single physical or virtual
machine on which the Kubernetes cluster software is installed, but in theory every
machine/device with a CPU and memory can be a Kubernetes node. Because these
machines only function as hosts of Kubernetes pods, they can easily be replaced, added,
or removed from the Kubernetes architecture, making the underlying physical (or
virtual) machine infrastructure very flexible.
14
Chapter 2 Big Data Cluster Architecture
15
Another Random Document on
Scribd Without Any Related Topics
wandering. Now I know that I shall never win the crown of the
Saints.'
The King was silent in inconsolable despair; then Astrid drew nearer
to him.
'King Olaf,' she said, 'what thou now sayest both Hjalte and
Ingegerd have told me long ago, but I would not believe that thou
wert more than a good and brave knight and noble King. It is only
now that I have lived under thy roof that my soul has begun to fear
thee. I have felt that it was worse than death to appear before thee
with a lie upon my lips. Never have I been so terrified,' Astrid
continued, 'as when I understood that thou wast a Saint. When I
saw thee burn the chips in thine hand, when I saw sickness flee at
thy bidding, and the sword fall out of thine enemy's hand when he
met thee, I was terrified unto death when I saw that thou wast a
Saint, and I resolved to die before thou knewest that I had deceived
thee.'
King Olaf did not answer. Astrid looked up at him; she saw that his
eyes were turned towards heaven. She did not know if he had heard
her.
'Ah,' she said, 'this moment have I feared every day and every hour
since I came hither. I would have died rather than live through it.'
Olaf Haraldsson was still silent.
'King Olaf,' she said, 'I would gladly give my life for thee; I would
gladly throw myself into the gray river so that thou shouldst not live
with a lying woman at thy side. The more I saw of thy holiness the
better I understood that I must go from thee. A Saint of God cannot
have a lying bondwoman at his side.'
The King was still silent, but now Astrid raised her eyes to his face;
then she cried out, terror-stricken:
'King Olaf, thy face shines.'
Whilst Astrid spoke, God had shown King Olaf a vision. He saw all
the stars of heaven leave their appointed places, and fly like
swarming bees about the universe. But suddenly they all gathered
above his head and formed a radiant crown.
'Astrid,' said he, with trembling voice, 'God hath spoken to me. It is
true what thou sayest. I shall become a Saint of God.'
His voice trembled from emotion, and his face shone in the night.
But when Astrid saw the light that surrounded his head, she arose.
For her the last hope had faded.
'Now I will go,' she said. 'Now thou knowest whom thou art. Thou
canst never more bear me at thy side. But think gently of me.
Without joy or happiness have I lived all my life. In rags have I
gone; blows have I endured. Forgive me when I am gone. My love
has done thee no harm.'
When Astrid in silent despair crossed over the bridge, Olaf
Haraldsson awoke from his ecstasy. He hastened after her.
'Why wilt thou go?' he said. 'Why wilt thou go?'
'Must I not go from thee when thou art a Saint?' she whispered
scarcely audibly.
'Thou shalt not go. Now thou canst remain,' said King Olaf. 'Before, I
was a lowly man and must fear all sin; a poor earthly King was I, too
poor to bestow on thee my grace; but now all the glory of Heaven
has been given to me. Art thou weak? I am the Lord's knight. Dost
thou fall? I can lift thee up. God hath chosen me, Astrid. Thou canst
not harm me, but I can help thee. Ah! what am I saying? In this
hour God hath so wholly and fully shed the riches of His love in my
heart that I cannot even see thou hast done wrong.'
Gently and tenderly he lifted up the trembling form, and whilst
lovingly supporting her, who was still sobbing and who could hardly
stand upright, he and Astrid went back to the King's Castle.
From a Swedish
Homestead
III
Old Agnete
Old Agnete
An old woman went up the mountain-path with short, tripping steps.
She was little and thin. Her face was pale and wizened, but neither
hard nor furrowed. She wore a long cloak and a quilled cap. She had
a Prayer-Book in her hand and a sprig of lavender in her
handkerchief.
She lived in a hut far up the high mountain where no trees could
grow. It was lying quite close to the edge of a broad glacier, which
sent its river of ice from the snow-clad mountain peak into the
depths of the valley. There she lived quite alone. All those who had
belonged to her were dead.
It was Sunday, and she had been to church. But whatever might be
the cause, her going there had not made her happy, but sorrowful.
The clergyman had spoken about death and the doomed, and that
had affected her. She had suddenly begun to think of how she had
heard in her childhood that many of the doomed were tormented in
the region of eternal cold on the mountain right above her dwelling.
She could remember many tales about these wanderers of the
glaciers—these indefatigable shadows which were hunted from place
to place by the icy mountain winds.
All at once she felt a great terror of the mountain, and thought that
her hut was dreadfully high up. Supposing those who moved about
invisibly there wandered down the glaciers! And she who was quite
alone! The word 'alone' gave to her thoughts a still sadder turn. She
again felt the full burden of that sorrow which never left her. She
thought how hard it was to be so far away from human beings.
'Old Agnete,' she said aloud to herself, as she had got into the habit
of doing in the lonely waste, 'you sit in your hut and spin, and spin.
You work and toil all the hours of the day so as not to perish from
hunger. But is there anyone to whom you give any pleasure by being
alive? Is there anyone, old Agnete? If any of your own were living
——Yes, then, perhaps, if you lived nearer the village, you might be
of some use to somebody. Poor as you are, you could neither take
dog nor cat home to you, but you could probably now and then give
a beggar shelter. You ought not to live so far away from the
highroad, old Agnete. If you could only once in a while give a thirsty
wayfarer a drink, then you would know that it was of some use your
being alive.'
She sighed, and said to herself that not even the peasant women
who gave her flax to spin would mourn her death. She had certainly
striven to do her work honestly and well, but no doubt there were
many who could have done it better. She began to cry bitterly, when
the thought struck her that his reverence, who had seen her sitting
in the same place in church for so many, many years, would perhaps
think it a matter of perfect indifference whether she was dead or
not.
'It is as if I were dead,' she said. 'No one asks after me. I would just
as well lie down and die. I am already frozen to death from cold and
loneliness. I am frozen to the core of the heart, I am indeed. Ah me!
ah me!' she said, now she had been set a-thinking; 'if there were
only someone who really needed me, there might still be a little
warmth left in old Agnete. But I cannot knit stockings for the
mountain goats, or make the beds for the marmots, can I? I tell
Thee,' she said, stretching our her hands towards heaven,
'something Thou must give me to do, or I shall lay me down and
die.'
At the same moment a tall, stern monk came towards her. He
walked by her side because he saw that she was sorrowful, and she
told him about her troubles. She said that her heart was nearly
frozen to death, and that she would become like one of the
wanderers on the glacier if God did not give her something to live
for.
'God will assuredly do that,' said the monk.
'Do you not see that God is powerless here?' old Agnete said. 'Here
there is nothing but an empty, barren waste.'
They went higher and higher towards the snow mountains. The
moss spread itself softly over the stones; the Alpine herbs, with their
velvety leaves, grew along the pathway; the mountain, with its rifts
and precipices, its glaciers and snow-drifts, towered above them,
weighing them down. Then the monk discovered old Agnete's hut,
right below the glacier.
'Oh,' he said, 'is it there you live? Then you are not alone there; you
have company enough. Only look!'
The monk put his thumb and first finger together, held them before
old Agnete's left eye, and bade her look through them towards the
mountain. But old Agnete shuddered and closed her eyes.
'If there is anything to see up there, then I will not look on any
account,' she said. 'The Lord preserve us! it is bad enough without
that.'
'Good-bye, then,' said the monk; 'it is not certain that you will be
permitted to see such a thing a second time.'
Old Agnete grew curious; she opened her eyes and looked towards
the glacier. At first she saw nothing remarkable, but soon she began
to discern things moving about. What she had taken to be mist and
vapour, or bluish-white shadows on the ice, were multitudes of
doomed souls, tormented in the eternal cold.
Poor old Agnete trembled like an aspen leaf. Everything was just as
she had heard it described in days gone by. The dead wandered
about there in endless anguish and pain. Most of them were
shrouded in something long and white, but all had their faces and
their hands bared.
They could not be counted, there was such a multitude. The longer
she looked, the more there appeared. Some walked proud and erect,
others seemed to dance over the glacier; but she saw that they all
cut their feet on the sharp and jagged edges of the ice.
It was just as she had been told. She saw how they constantly
huddled close together, as if to warm themselves, but immediately
drew back again, terrified by the deathly cold which emanated from
their bodies.
It was as if the cold of the mountain came from them, as if it were
they who prevented the snow from melting and made the mist so
piercingly cold.
They were not all moving; some stood in icy stoniness, and it looked
as if they had been standing thus for years, for ice and snow had
gathered around them so that only the upper portion of their bodies
could be seen.
The longer the little old woman gazed the quieter she grew. Fear left
her, and she was only filled with sorrow for all these tormented
beings. There was no abatement in their pain, no rest for their torn
feet, hurrying over ice sharp as edged steel. And how cold they
were! how they shivered! how their teeth chattered from cold! Those
who were petrified and those who could move, all suffered alike
from the snarling, biting, unbearable cold.
There were many young men and women; but there was no youth in
their faces, blue with cold. It looked as if they were playing, but all
joy was dead. They shivered, and were huddled up like old people.
But those who made the deepest impression on her were those
frozen fast in the hard glacier, and those who were hanging from the
mountain-side like great icicles.
Then the monk removed his hand, and old Agnete saw only the
barren, empty glaciers. Here and there were ice-mounds, but they
did not surround any petrified ghosts. The blue light on the glacier
did not proceed from frozen bodies; the wind chased the snowflakes
before it, but not any ghosts.
Still old Agnete was certain that she had really seen all this, and she
asked the monk:
'Is it permitted to do anything for these poor doomed ones?'
He answered:
'When has God forbidden Love to do good or Mercy to solace?'
Then the monk went his way, and old Agnete went to her hut and
thought it all over. The whole evening she pondered how she could
help the doomed who were wandering on the glaciers. For the first
time in many years she had been too busy to think of her loneliness.
Next morning she again went down to the village. She smiled, and
was well content. Old age was no longer so heavy a burden. 'The
dead,' she said to herself, 'do not care so much about red cheeks
and light steps. They only want one to think of them with a little
warmth. But young people do not trouble to do that. Oh no, oh no.
How should the dead protect themselves from the terrible coldness
of death did not old people open their hearts to them?
When she came to the village shop she bought a large package of
candles, and from a peasant she ordered a great load of firewood;
but in order to pay for it she had to take in twice as much spinning
as usual.
Towards evening, when she got home again, she said many prayers,
and tried to keep up her courage by singing hymns. But her courage
sank more and more. All the same, she did what she had made up
her mind to do.
She moved her bed into the inner room of her hut. In the front room
she made a big fire and lighted it. In the window she placed two
candles, and left the outer door wide open. Then she went to bed.
She lay in the darkness and listened.
Yes, there certainly was a step. It was as if someone had come
gliding down the glacier. It came heavily, moaning. It crept round
the hut as if it dared not come in. Close to the wall it stood and
shivered.
Old Agnete could not bear it any longer. She sprang out of bed, went
into the outer room and closed the door. It was too much; flesh and
blood could not stand it.
Outside the hut she heard deep sighs and dragging steps, as of sore,
wounded feet. They dragged themselves away further and further
up the icy glacier. Now and again she also heard sobs; but soon
everything was quiet.
Then old Agnete was beside herself with anxiety. 'You are a coward,
you silly old thing,' she said. 'Both the fire and the lights, which cost
so much, are burning out. Shall it all have been done in vain
because you are such a miserable coward?' And when she had said
this she got out of bed again, crying from fear, with chattering teeth,
and shivering all over; but into the other room she went, and the
door she opened.
Again she lay and waited. Now she was no longer frightened that
they should come. She was only afraid lest she had scared them
away, and that they dared not come back.
And as she lay there in the darkness she began to call just as she
used to do in her young days when she was tending the sheep.
'My little white lambs, my lambs in the mountains, come, come!
Come down from rift and precipice, my little white lambs!'
Then it seemed as if a cold wind from the mountain came rushing
into the room. She heard neither step nor sob, only gusts of wind
that came rushing along the walls of the hut into the room. And it
sounded as if someone were continually saying:
'Hush, hush! Don't frighten her! don't frighten her! don't frighten
her!'
She had a feeling as if the outside room was so overcrowded that
they were being crushed against the walls, and that the walls were
giving way. Sometimes it seemed as if they would lift the roof in
order to gain more room. But the whole time there were whispers:
'Hush, hush! Don't frighten her! don't frighten her!'
Then old Agnete felt happy and peaceful. She folded her hands and
fell asleep. In the morning it seemed as if the whole had been a
dream. Everything looked as usual in the outer room; the fire had
burnt out, and so had the candles. There was not a vestige of tallow
left in the candlesticks.
As long as old Agnete lived she continued to do this. She spun and
worked so that she could keep her fire burning every night. And she
was happy because someone needed her.
Then one Sunday she was not in her usual seat in the church. Two
peasants went up to her hut to see if there was anything the matter.
She was already dead, and they carried her body down to the village
to bury it.
When, the following Sunday, her funeral took place, just before
Mass, there were but few who followed, neither did one see grief on
any face. But suddenly, just as the coffin was being lowered into the
grave, a tall, stern monk came into the churchyard, and he stood still
and pointed to the snow-clad mountains. Then they saw the whole
mountain-ridge shining in a red light as if lighted with joy, and round
it wound a procession of small yellow flames, looking like burning
candles. And these flames numbered as many as the candles which
old Agnete had burned for the doomed. Then people said: 'Praise
the Lord! She whom no one mourns here below has all the same
found friends in the solitude above.'
From a Swedish
Homestead
IV
The Fisherman's Ring
V
Santa Caterina of Siena
It is strange how one comes to love her, how the home and the
pictures and the love of the old and the poor seem to make her
living, and one begins to wonder how she really was, whether she
was only a saint, only a heavenly bride, and if it is true that she was
unable to love any other than Christ. And then comes to one's mind
an old story which warmed one's heart long ago, at first quite vague
and without shape, but whilst one is sitting there under the loggia in
the festively decorated home and watching the poor wander away
with their full baskets, and hearing the subdued murmur from the
chapels, the story becomes more and more distinct, and suddenly it
is vivid and clear.
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.
textbookfull.com