SlideShare a Scribd company logo
HDFS Truncate:
Evolving Beyond Write-Once Semantics
Konstantin V. Shvachko
Plamen Jeliazkov
June 10, 2015
San Jose, CA
Agenda
Describing file truncate feature implemented in HDFS-3107 and HDFS-7056
 Evolution of Data Mutation Semantics in HDFS
 Use cases for truncate
 Overview of HDFS architecture
• Focus on Data-flow: write, append, leases, block recovery
 The truncate design principles
• Comparison of different implementation approaches
 Truncate with snapshots and upgrades: “copy-on-truncate”
 Truncate testing and benchmark tools: DFSIO, Slive, NNThroughput
 Possibilities for further improvements
2
Data Mutation Semantics
Data Mutation Operations
Traditional file systems support random writes by concurrent clients into a single file
 Sequential writes: write to the end of a file (Tape model)
 Random writes: write to a file at a given offset (Disk model)
 Record append: records are atomically appended to a file (Object storage)
• Many clients write records concurrently. The offset is chosen by the system
 Snapshots: copy-on-write techniques
• Duplicate metadata referencing the same data
• Data is duplicated when modified
 Concurrent writers: multiple clients can write to the same file
4
Pre HDFS History
Google File System implements a variety of data mutation operations
 2003 GFS paper:
• Optimized for sequential IOs
• Support for random writes with concurrent writers
• Record appends
• Snapshots
 2005 Y! Juggernaut project
• Random writes with concurrent writers
5
HDFS Write Semantics History
Simplified (to bare bones initially) to avoid complexity
 2006 HDFS
• Single writers, multiple readers
• Write-once semantics, no updates allowed
• Readers can see data only after the file is closed
 2008 First attempt to implement append (HADOOP-1700). Hadoop 1
• Solved file readability before close problem
 2009 Append revisited (HDFS-265). Hadoop 2
• Introduced lease / block recovery
 2013 Snapshots (HDFS-2802)
 2015 Truncate (HDFS-3107)
6
Operation Truncate
Truncate Operation
In traditional file systems truncate is the file length change operation
 Truncate file routine is supported by all
traditional file systems
• Allows readjusting file’s length to a
new value in both directions
 POSIX truncate() and Java
RandomAccessFile.setLength() allow
• Shrinking a file to a shorter length by
detaching and deleting the file’s tail
• Expanding file to a larger length by
padding zeros at the end of the file
8
B1 B2 B3 B4
Old Length
Original File F
B1 B2 B3 B4
New Length
Shorter File F’
B1 B2 B3 B4
Longer File F’’
B5
New Length
HDFS Truncate
Allows to reduce file length only
 HDFS truncate detaches and deletes the tail of a file,
thus shrinking it to the new length
9
B1 B2 B4
New Length Old Length
File F
B3
Motivation for Truncate
“Having an append without a truncate is a serious deficiency”
 Undo data updates added by mistake, as in failed append
• Combination of truncates and appends models random writes
 Data copy fails with a large file partly copied (DistCp)
• Current solution – restart copying from the beginning – can be optimized
• Truncate files to the last known common length or a block boundary and
restart copying the remaining part
 Transaction support: HDFS file used as a reliable journal store (Hawk)
• Begin-transaction remembers the offset in the journal file
• Abort-transaction rolls back the journal by truncating to that offset
 Improved support for Fuse and NFSv3 connectors to HDFS
10
HDFS
State of the Art
HDFS Architecture
Reliable distributed file system for storing very large data sets
 HDFS metadata is decoupled from data
• Namespace is a hierarchy of files and directories represented by INodes
• INodes record attributes: permissions, quotas, timestamps, replication
 NameNode keeps its entire state in RAM
• Memory state: the namespace tree and the mapping of blocks to DataNodes
• Persistent state: recent checkpoint of the namespace and journal log
 File data is divided into blocks (default 128MB)
• Each block is independently replicated on multiple DataNodes (default 3)
• Block replicas stored on DataNodes as local files on local drives
12
HDFS Cluster
Standard HDFS Architecture
 Single active NameNode
fails over to Standby using
ZooKeeper and QJM
 Thousands of DataNodes
store data blocks
 Tens of thousands of HDFS
clients connected to active
NameNode
13
HDFS Operations Workflow
Namespace operations are decoupled from data transfers
 Active NameNode workflow
1. Receive request from a client,
2. Apply the update to its memory state,
3. Record the update as a journal transaction in persistent storage,
4. Return result to the client
 HDFS Client (read or write to a file)
• Send request to the NameNode, receive replica locations
• Read or write data from or to DataNodes
 DataNode
• Data transfer to / from clients and between DataNodes
• Report replica states to NameNode(s): new, deleted, corrupt
• Report its own state to NameNode(s): heartbeats, block reports
14
HDFS Write
1. To write a block of a file,
the client requests a list
of candidate DataNodes
from the NameNode
2. Organizes a write
pipeline, transfers data
3. DataNodes report
received replicas to the
NameNode
15
Write Leases
Single writer semantics is enforced through file leases
 HDFS client that opens a file for writing is granted a lease
• Only one client can hold a lease on a single file
• Client periodically renews the lease by sending heartbeats to the NameNode
 Lease duration is bound by a soft limit and a hard limit
• Until the soft limit expires, the writer is certain of exclusive access to the file
• After soft limit (10 min): any client can reclaim the lease
• After hard limit (1 hour): NameNode mandatory closes the file, revokes the lease
 Writer's lease does not prevent other clients from reading the file
16
Lease and Block Recovery
If client fails to close file the last block replicas may be inconsistent with each other
 Client failure is determined by lease expiration
• Lease expiration triggers block recovery to synchronize last block replicas
 NameNode assigns new generation stamp to the block under recovery
• Designates primary DataNode for the recovery
• Sends request to recover replicas to the primary DataNode
 The primary coordinates replicas length adjustment with other DataNodes
• Then confirms the resulting block length to NameNode
• NameNode updates the block and closes the file upon such confirmation
 Failure to recover triggers another recovery with higher generation stamp
17
Truncate Implementation
Early Implementation Approaches
Involved client as a coordinator of the truncate workflow
 Block boundary only truncate + append
• Truncate to the largest block boundary, append the remaining delta
 Truncate with concat - an HDFS operation that allows combining blocks of several files into one
• Identify the delta between the largest block boundary and the new length
• Copy the delta into a temporary file
• Concatenate the original file truncated to the largest block boundary with the delta file
19
B1 B3 B4
New Length Old Length
File F
B2
deltalargest block boundary
The Design: In-place Truncate
Block replicas are truncated in-place when no snapshots or upgrades
 Truncate uses lease recovery workflow
1. NameNode receives truncate call from a client, ensures the file is closed
• Whole blocks are invalidated instantaneously. Return if nothing more to truncate
• If not on the block boundary, then NameNode sets file length to newLength, opens the file for
write, assigns a lease for it, persists truncate operation in editsLog, and returns to the client
2. NameNode designates a DataNode as primary for the last block recovery, and sends a
DatanodeCommand to it, which contains the new length of the replica
3. Primary DataNode synchronizes the new length between the replicas, and confirms the
result to the NameNode
4. NameNode completes truncate by releasing the lease and closing the file
20
Truncate Workflow
Atomic update of the namespace followed by the background truncate recovery
21
Active
NameNodetruncate
1
2 recovery 4 confirm
3 synchronize
P
DataNodes
Snapshots
A file snapshot duplicates file metadata, but does not copy data blocks
 File on the NameNode is represented by
• INode contains file attributes: file length, permissions, times, quotas, replication
• List of blocks belonging to the file, including replica locations for each block
 File snapshot is a state of the file at a particular point in time
 Snapshots are maintained on the NameNode by duplicating metadata
• Pre-truncate file snapshot is represented by an immutable copy of INode only
• List of blocks could only grow with appends – no need to duplicate the list
22
Snapshot support for truncate
Copy-on-truncate recovery is needed to create a snapshot copy of the last block
 Snapshots are maintained on the NameNode by duplicating metadata
• File snapshot is represented by an immutable copy of INode and
• Possibly a list of blocks, also immutable
o The block list is duplicated only when a truncate is performed
 DataNode duplicates the block being truncated
• The old replica belongs to the snapshot. The new replica is referenced by the file
 Copy-on-truncate recovery is also handled by lease recovery workflow
• Replica recovery command carries the new block
• DataNodes keep the old replica unchanged, and copy its part to the new replica
• Primary DataNode reports both replicas to the NameNode when recovery is done
23
<blockID, genStamp, blockLen>
Synopsys
Truncate file src to the specified newLength
 Returns:
• true if the file was truncated to the desired newLength and is immediately available to be
reused for write operations such as append, or
• false if a background process of adjusting the length of the last block has been started, and
clients should wait for it to complete before they can proceed with further file updates
 Throws IOException in the following error cases:
• If src is a directory
• If src does not exist or current user does not have write permissions for the file
• If src is opened for write
• If newLength is greater than the current file length
public boolean truncate(Path src, long newLength)
throws IOException;
24
Semantics
Truncate cuts the tail of the specified file to the specified new length
 After truncate operation returns to the client new readers can read data up to
the newLength
• Reads beyond the new files length results in EOF
• Old readers can still see old bytes until replica recovery is complete
 After truncate operation returns the file may or may not be immediately
available for write
• If the newLength is on the block boundary, then the file can be appended to
immediately
• Otherwise clients should wait for the truncate recovery to complete
25
Testing and Benchmarking
Truncate testing tools
 The DFSIO benchmark
• Measures average throughput for read, write and append operations
• Now also includes truncate
 Slive is map reduce application
• Randomly generates HDFS operations
• Highly adjustable
• Includes truncate
27
Truncate Benchmarks
Using DFSIO, measure performance of the following operations
 Create large files
 Append data to a file
 Truncate files to a block boundary
 Truncate file in the middle of a block without waiting for recovery
 Truncate file in the middle of a block and waiting for recovery
 Truncate file with a snapshot to cause copy-on-write truncate, with recovery
28
NNThroughput Benchmark
Pure metadata operations without RPC overhead
29
0
5,000
10,000
15,000
20,000
25,000
30,000
Create Mkdirs Delete Truncate 10 to 5
blocks
Performance (ops/sec)
1 million operations with 1000 threads
Further Improvements
 Currently files are updated in HDFS as tape devices
• Finally with the rewind
 Allow to truncate an unclosed file by the same client
• Optimization for transaction journal use case
 Implement random writes
• It is known it can be done
 Concurrent writers: many clients writing records to the same file
• Atomic append: each record is guaranteed to be written, but at an unknown offset
30
Thanks to the Community
Many people contributed to the truncate project
 Konstantin Shvachko
 Plamen Jeliazkov
 Tsz Wo Nicholas Sze
 Jing Zhao
 Colin Patrick McCabe
 Yi Liu
 Milan Desai
 Byron Wong
 Konstantin Boudnik
 Lei Chang
 Milind Bhandarkar
 Dasha Boudnik
 Guo Ruijing
 Roman Shaposhnik
31
Thank You.
Questions?
Come visit WANdisco at Booth # P3
HDFS Truncate: Evolving Beyond Write-Once Semantics
Konstantin V. Shvachko Plamen Jeliazkov
Ad

More Related Content

What's hot (20)

HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
enissoz
 
Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14
panagenda
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
Chien Cheng Wu
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
Thomas Graf
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
NGINX, Inc.
 
OpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQLOpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQL
Open Gurukul
 
HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview
hemantnaik
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
 
Git et les systèmes de gestion de versions
Git et les systèmes de gestion de versionsGit et les systèmes de gestion de versions
Git et les systèmes de gestion de versions
Alice Loeser
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Phil Estes
 
RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...
RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...
RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...
panagenda
 
MES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best PracticesMES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best Practices
Dylan Redfield
 
Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing
DataWorks Summit
 
Operating and Supporting Apache HBase Best Practices and Improvements
Operating and Supporting Apache HBase Best Practices and ImprovementsOperating and Supporting Apache HBase Best Practices and Improvements
Operating and Supporting Apache HBase Best Practices and Improvements
DataWorks Summit/Hadoop Summit
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Databricks
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
Gabriella Davis
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep Dive
Red_Hat_Storage
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
lcplcp1
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
Kazuho Oku
 
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DMUpgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
Yahoo!デベロッパーネットワーク
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
enissoz
 
Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14
panagenda
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
Chien Cheng Wu
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
Thomas Graf
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
NGINX, Inc.
 
OpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQLOpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQL
Open Gurukul
 
HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview
hemantnaik
 
Git et les systèmes de gestion de versions
Git et les systèmes de gestion de versionsGit et les systèmes de gestion de versions
Git et les systèmes de gestion de versions
Alice Loeser
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Phil Estes
 
RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...
RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...
RNUG 2020: Virtual, Faster, Better! How to deploy HCL Notes 11.0.1 FP2 for Ci...
panagenda
 
MES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best PracticesMES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best Practices
Dylan Redfield
 
Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing
DataWorks Summit
 
Operating and Supporting Apache HBase Best Practices and Improvements
Operating and Supporting Apache HBase Best Practices and ImprovementsOperating and Supporting Apache HBase Best Practices and Improvements
Operating and Supporting Apache HBase Best Practices and Improvements
DataWorks Summit/Hadoop Summit
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Databricks
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
Gabriella Davis
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep Dive
Red_Hat_Storage
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
lcplcp1
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
Kazuho Oku
 

Viewers also liked (20)

Aca2 09 new
Aca2 09 newAca2 09 new
Aca2 09 new
Sumit Mittu
 
Aca2 10 11
Aca2 10 11Aca2 10 11
Aca2 10 11
Sumit Mittu
 
HDFS for Geographically Distributed File System
HDFS for Geographically Distributed File SystemHDFS for Geographically Distributed File System
HDFS for Geographically Distributed File System
Konstantin V. Shvachko
 
Selective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopSelective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed Hadoop
DataWorks Summit
 
Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...
Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...
Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...
DataWorks Summit
 
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
DataWorks Summit
 
Big Data Simplified - Is all about Ab'strakSHeN
Big Data Simplified - Is all about Ab'strakSHeNBig Data Simplified - Is all about Ab'strakSHeN
Big Data Simplified - Is all about Ab'strakSHeN
DataWorks Summit
 
Running Spark and MapReduce together in Production
Running Spark and MapReduce together in ProductionRunning Spark and MapReduce together in Production
Running Spark and MapReduce together in Production
DataWorks Summit
 
Inspiring Travel at Airbnb [WIP]
Inspiring Travel at Airbnb [WIP]Inspiring Travel at Airbnb [WIP]
Inspiring Travel at Airbnb [WIP]
DataWorks Summit
 
Realistic Synthetic Generation Allows Secure Development
Realistic Synthetic Generation Allows Secure DevelopmentRealistic Synthetic Generation Allows Secure Development
Realistic Synthetic Generation Allows Secure Development
DataWorks Summit
 
HBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQLHBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQL
DataWorks Summit
 
Hadoop in Validated Environment - Data Governance Initiative
Hadoop in Validated Environment - Data Governance InitiativeHadoop in Validated Environment - Data Governance Initiative
Hadoop in Validated Environment - Data Governance Initiative
DataWorks Summit
 
50 Shades of SQL
50 Shades of SQL50 Shades of SQL
50 Shades of SQL
DataWorks Summit
 
Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...
Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...
Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...
DataWorks Summit
 
Practical Distributed Machine Learning Pipelines on Hadoop
Practical Distributed Machine Learning Pipelines on HadoopPractical Distributed Machine Learning Pipelines on Hadoop
Practical Distributed Machine Learning Pipelines on Hadoop
DataWorks Summit
 
Hadoop for Genomics__HadoopSummit2010
Hadoop for Genomics__HadoopSummit2010Hadoop for Genomics__HadoopSummit2010
Hadoop for Genomics__HadoopSummit2010
Yahoo Developer Network
 
Carpe Datum: Building Big Data Analytical Applications with HP Haven
Carpe Datum: Building Big Data Analytical Applications with HP HavenCarpe Datum: Building Big Data Analytical Applications with HP Haven
Carpe Datum: Building Big Data Analytical Applications with HP Haven
DataWorks Summit
 
Karta an ETL Framework to process high volume datasets
Karta an ETL Framework to process high volume datasets Karta an ETL Framework to process high volume datasets
Karta an ETL Framework to process high volume datasets
DataWorks Summit
 
One Click Hadoop Clusters - Anywhere (Using Docker)
One Click Hadoop Clusters - Anywhere (Using Docker)One Click Hadoop Clusters - Anywhere (Using Docker)
One Click Hadoop Clusters - Anywhere (Using Docker)
DataWorks Summit
 
Open Source SQL for Hadoop: Where are we and Where are we Going?
Open Source SQL for Hadoop: Where are we and Where are we Going?Open Source SQL for Hadoop: Where are we and Where are we Going?
Open Source SQL for Hadoop: Where are we and Where are we Going?
DataWorks Summit
 
HDFS for Geographically Distributed File System
HDFS for Geographically Distributed File SystemHDFS for Geographically Distributed File System
HDFS for Geographically Distributed File System
Konstantin V. Shvachko
 
Selective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopSelective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed Hadoop
DataWorks Summit
 
Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...
Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...
Coexistence and Migration of Vendor HPC based infrastructure to Hadoop Ecosys...
DataWorks Summit
 
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
The Most Valuable Customer on Earth-1298: Comic Book Analysis with Oracel's B...
DataWorks Summit
 
Big Data Simplified - Is all about Ab'strakSHeN
Big Data Simplified - Is all about Ab'strakSHeNBig Data Simplified - Is all about Ab'strakSHeN
Big Data Simplified - Is all about Ab'strakSHeN
DataWorks Summit
 
Running Spark and MapReduce together in Production
Running Spark and MapReduce together in ProductionRunning Spark and MapReduce together in Production
Running Spark and MapReduce together in Production
DataWorks Summit
 
Inspiring Travel at Airbnb [WIP]
Inspiring Travel at Airbnb [WIP]Inspiring Travel at Airbnb [WIP]
Inspiring Travel at Airbnb [WIP]
DataWorks Summit
 
Realistic Synthetic Generation Allows Secure Development
Realistic Synthetic Generation Allows Secure DevelopmentRealistic Synthetic Generation Allows Secure Development
Realistic Synthetic Generation Allows Secure Development
DataWorks Summit
 
HBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQLHBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQL
DataWorks Summit
 
Hadoop in Validated Environment - Data Governance Initiative
Hadoop in Validated Environment - Data Governance InitiativeHadoop in Validated Environment - Data Governance Initiative
Hadoop in Validated Environment - Data Governance Initiative
DataWorks Summit
 
Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...
Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...
Can you Re-Platform your Teradata, Oracle, Netezza and SQL Server Analytic Wo...
DataWorks Summit
 
Practical Distributed Machine Learning Pipelines on Hadoop
Practical Distributed Machine Learning Pipelines on HadoopPractical Distributed Machine Learning Pipelines on Hadoop
Practical Distributed Machine Learning Pipelines on Hadoop
DataWorks Summit
 
Carpe Datum: Building Big Data Analytical Applications with HP Haven
Carpe Datum: Building Big Data Analytical Applications with HP HavenCarpe Datum: Building Big Data Analytical Applications with HP Haven
Carpe Datum: Building Big Data Analytical Applications with HP Haven
DataWorks Summit
 
Karta an ETL Framework to process high volume datasets
Karta an ETL Framework to process high volume datasets Karta an ETL Framework to process high volume datasets
Karta an ETL Framework to process high volume datasets
DataWorks Summit
 
One Click Hadoop Clusters - Anywhere (Using Docker)
One Click Hadoop Clusters - Anywhere (Using Docker)One Click Hadoop Clusters - Anywhere (Using Docker)
One Click Hadoop Clusters - Anywhere (Using Docker)
DataWorks Summit
 
Open Source SQL for Hadoop: Where are we and Where are we Going?
Open Source SQL for Hadoop: Where are we and Where are we Going?Open Source SQL for Hadoop: Where are we and Where are we Going?
Open Source SQL for Hadoop: Where are we and Where are we Going?
DataWorks Summit
 
Ad

Similar to HDFS Trunncate: Evolving Beyond Write-Once Semantics (20)

Data Analytics presentation.pptx
Data Analytics presentation.pptxData Analytics presentation.pptx
Data Analytics presentation.pptx
SwarnaSLcse
 
HDFS Design Principles
HDFS Design PrinciplesHDFS Design Principles
HDFS Design Principles
Konstantin V. Shvachko
 
Hadoop
HadoopHadoop
Hadoop
Esraa El Ghoul
 
unit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
unit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyunit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
unit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
0710harish
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
Rutvik Bapat
 
Cloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and AdvancementsCloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and Advancements
Sathishkumar Jaganathan
 
Hdfs architecture
Hdfs architectureHdfs architecture
Hdfs architecture
Aisha Siddiqa
 
Hadoop and HDFS
Hadoop and HDFSHadoop and HDFS
Hadoop and HDFS
SatyaHadoop
 
HADOOP.pptx
HADOOP.pptxHADOOP.pptx
HADOOP.pptx
Bharathi567510
 
File service architecture and network file system
File service architecture and network file systemFile service architecture and network file system
File service architecture and network file system
Sukhman Kaur
 
Hadoop data management
Hadoop data managementHadoop data management
Hadoop data management
Subhas Kumar Ghosh
 
Storage solutions for High Performance Computing
Storage solutions for High Performance ComputingStorage solutions for High Performance Computing
Storage solutions for High Performance Computing
gmateesc
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
Milad Sobhkhiz
 
HDFS User Reference
HDFS User ReferenceHDFS User Reference
HDFS User Reference
Biju Nair
 
Big Data-Session, data engineering and scala
Big Data-Session, data engineering and scalaBig Data-Session, data engineering and scala
Big Data-Session, data engineering and scala
ssusera3b277
 
Hadoop HDFS Architeture and Design
Hadoop HDFS Architeture and DesignHadoop HDFS Architeture and Design
Hadoop HDFS Architeture and Design
sudhakara st
 
HDFS Federation++
HDFS Federation++HDFS Federation++
HDFS Federation++
Hortonworks
 
Apache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay Radia
Apache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay RadiaApache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay Radia
Apache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay Radia
Yahoo Developer Network
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
openstackindia
 
Chapter-5-DFS.ppt
Chapter-5-DFS.pptChapter-5-DFS.ppt
Chapter-5-DFS.ppt
rameshwarchintamani
 
Data Analytics presentation.pptx
Data Analytics presentation.pptxData Analytics presentation.pptx
Data Analytics presentation.pptx
SwarnaSLcse
 
unit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
unit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyunit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
unit 2 - book ppt.pptxtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
0710harish
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
Rutvik Bapat
 
Cloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and AdvancementsCloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and Advancements
Sathishkumar Jaganathan
 
File service architecture and network file system
File service architecture and network file systemFile service architecture and network file system
File service architecture and network file system
Sukhman Kaur
 
Storage solutions for High Performance Computing
Storage solutions for High Performance ComputingStorage solutions for High Performance Computing
Storage solutions for High Performance Computing
gmateesc
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
Milad Sobhkhiz
 
HDFS User Reference
HDFS User ReferenceHDFS User Reference
HDFS User Reference
Biju Nair
 
Big Data-Session, data engineering and scala
Big Data-Session, data engineering and scalaBig Data-Session, data engineering and scala
Big Data-Session, data engineering and scala
ssusera3b277
 
Hadoop HDFS Architeture and Design
Hadoop HDFS Architeture and DesignHadoop HDFS Architeture and Design
Hadoop HDFS Architeture and Design
sudhakara st
 
HDFS Federation++
HDFS Federation++HDFS Federation++
HDFS Federation++
Hortonworks
 
Apache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay Radia
Apache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay RadiaApache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay Radia
Apache Hadoop India Summit 2011 Keynote talk "HDFS Federation" by Sanjay Radia
Yahoo Developer Network
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
openstackindia
 
Ad

More from DataWorks Summit (20)

Data Science Crash Course
Data Science Crash CourseData Science Crash Course
Data Science Crash Course
DataWorks Summit
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache Ratis
DataWorks Summit
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
DataWorks Summit
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...
DataWorks Summit
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
DataWorks Summit
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal System
DataWorks Summit
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
DataWorks Summit
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at Uber
DataWorks Summit
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
DataWorks Summit
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
DataWorks Summit
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability Improvements
DataWorks Summit
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant Architecture
DataWorks Summit
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
DataWorks Summit
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
DataWorks Summit
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
DataWorks Summit
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
DataWorks Summit
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
DataWorks Summit
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
DataWorks Summit
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near You
DataWorks Summit
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
DataWorks Summit
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache Ratis
DataWorks Summit
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
DataWorks Summit
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...
DataWorks Summit
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
DataWorks Summit
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal System
DataWorks Summit
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
DataWorks Summit
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at Uber
DataWorks Summit
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
DataWorks Summit
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
DataWorks Summit
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability Improvements
DataWorks Summit
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant Architecture
DataWorks Summit
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
DataWorks Summit
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
DataWorks Summit
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
DataWorks Summit
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
DataWorks Summit
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
DataWorks Summit
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
DataWorks Summit
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near You
DataWorks Summit
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
DataWorks Summit
 

Recently uploaded (20)

AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Mike Mingos
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
CSUC - Consorci de Serveis Universitaris de Catalunya
 
Top 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptx
Top 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptxTop 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptx
Top 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptx
mkubeusa
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Mike Mingos
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Top 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptx
Top 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptxTop 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptx
Top 5 Benefits of Using Molybdenum Rods in Industrial Applications.pptx
mkubeusa
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 

HDFS Trunncate: Evolving Beyond Write-Once Semantics

  • 1. HDFS Truncate: Evolving Beyond Write-Once Semantics Konstantin V. Shvachko Plamen Jeliazkov June 10, 2015 San Jose, CA
  • 2. Agenda Describing file truncate feature implemented in HDFS-3107 and HDFS-7056  Evolution of Data Mutation Semantics in HDFS  Use cases for truncate  Overview of HDFS architecture • Focus on Data-flow: write, append, leases, block recovery  The truncate design principles • Comparison of different implementation approaches  Truncate with snapshots and upgrades: “copy-on-truncate”  Truncate testing and benchmark tools: DFSIO, Slive, NNThroughput  Possibilities for further improvements 2
  • 4. Data Mutation Operations Traditional file systems support random writes by concurrent clients into a single file  Sequential writes: write to the end of a file (Tape model)  Random writes: write to a file at a given offset (Disk model)  Record append: records are atomically appended to a file (Object storage) • Many clients write records concurrently. The offset is chosen by the system  Snapshots: copy-on-write techniques • Duplicate metadata referencing the same data • Data is duplicated when modified  Concurrent writers: multiple clients can write to the same file 4
  • 5. Pre HDFS History Google File System implements a variety of data mutation operations  2003 GFS paper: • Optimized for sequential IOs • Support for random writes with concurrent writers • Record appends • Snapshots  2005 Y! Juggernaut project • Random writes with concurrent writers 5
  • 6. HDFS Write Semantics History Simplified (to bare bones initially) to avoid complexity  2006 HDFS • Single writers, multiple readers • Write-once semantics, no updates allowed • Readers can see data only after the file is closed  2008 First attempt to implement append (HADOOP-1700). Hadoop 1 • Solved file readability before close problem  2009 Append revisited (HDFS-265). Hadoop 2 • Introduced lease / block recovery  2013 Snapshots (HDFS-2802)  2015 Truncate (HDFS-3107) 6
  • 8. Truncate Operation In traditional file systems truncate is the file length change operation  Truncate file routine is supported by all traditional file systems • Allows readjusting file’s length to a new value in both directions  POSIX truncate() and Java RandomAccessFile.setLength() allow • Shrinking a file to a shorter length by detaching and deleting the file’s tail • Expanding file to a larger length by padding zeros at the end of the file 8 B1 B2 B3 B4 Old Length Original File F B1 B2 B3 B4 New Length Shorter File F’ B1 B2 B3 B4 Longer File F’’ B5 New Length
  • 9. HDFS Truncate Allows to reduce file length only  HDFS truncate detaches and deletes the tail of a file, thus shrinking it to the new length 9 B1 B2 B4 New Length Old Length File F B3
  • 10. Motivation for Truncate “Having an append without a truncate is a serious deficiency”  Undo data updates added by mistake, as in failed append • Combination of truncates and appends models random writes  Data copy fails with a large file partly copied (DistCp) • Current solution – restart copying from the beginning – can be optimized • Truncate files to the last known common length or a block boundary and restart copying the remaining part  Transaction support: HDFS file used as a reliable journal store (Hawk) • Begin-transaction remembers the offset in the journal file • Abort-transaction rolls back the journal by truncating to that offset  Improved support for Fuse and NFSv3 connectors to HDFS 10
  • 12. HDFS Architecture Reliable distributed file system for storing very large data sets  HDFS metadata is decoupled from data • Namespace is a hierarchy of files and directories represented by INodes • INodes record attributes: permissions, quotas, timestamps, replication  NameNode keeps its entire state in RAM • Memory state: the namespace tree and the mapping of blocks to DataNodes • Persistent state: recent checkpoint of the namespace and journal log  File data is divided into blocks (default 128MB) • Each block is independently replicated on multiple DataNodes (default 3) • Block replicas stored on DataNodes as local files on local drives 12
  • 13. HDFS Cluster Standard HDFS Architecture  Single active NameNode fails over to Standby using ZooKeeper and QJM  Thousands of DataNodes store data blocks  Tens of thousands of HDFS clients connected to active NameNode 13
  • 14. HDFS Operations Workflow Namespace operations are decoupled from data transfers  Active NameNode workflow 1. Receive request from a client, 2. Apply the update to its memory state, 3. Record the update as a journal transaction in persistent storage, 4. Return result to the client  HDFS Client (read or write to a file) • Send request to the NameNode, receive replica locations • Read or write data from or to DataNodes  DataNode • Data transfer to / from clients and between DataNodes • Report replica states to NameNode(s): new, deleted, corrupt • Report its own state to NameNode(s): heartbeats, block reports 14
  • 15. HDFS Write 1. To write a block of a file, the client requests a list of candidate DataNodes from the NameNode 2. Organizes a write pipeline, transfers data 3. DataNodes report received replicas to the NameNode 15
  • 16. Write Leases Single writer semantics is enforced through file leases  HDFS client that opens a file for writing is granted a lease • Only one client can hold a lease on a single file • Client periodically renews the lease by sending heartbeats to the NameNode  Lease duration is bound by a soft limit and a hard limit • Until the soft limit expires, the writer is certain of exclusive access to the file • After soft limit (10 min): any client can reclaim the lease • After hard limit (1 hour): NameNode mandatory closes the file, revokes the lease  Writer's lease does not prevent other clients from reading the file 16
  • 17. Lease and Block Recovery If client fails to close file the last block replicas may be inconsistent with each other  Client failure is determined by lease expiration • Lease expiration triggers block recovery to synchronize last block replicas  NameNode assigns new generation stamp to the block under recovery • Designates primary DataNode for the recovery • Sends request to recover replicas to the primary DataNode  The primary coordinates replicas length adjustment with other DataNodes • Then confirms the resulting block length to NameNode • NameNode updates the block and closes the file upon such confirmation  Failure to recover triggers another recovery with higher generation stamp 17
  • 19. Early Implementation Approaches Involved client as a coordinator of the truncate workflow  Block boundary only truncate + append • Truncate to the largest block boundary, append the remaining delta  Truncate with concat - an HDFS operation that allows combining blocks of several files into one • Identify the delta between the largest block boundary and the new length • Copy the delta into a temporary file • Concatenate the original file truncated to the largest block boundary with the delta file 19 B1 B3 B4 New Length Old Length File F B2 deltalargest block boundary
  • 20. The Design: In-place Truncate Block replicas are truncated in-place when no snapshots or upgrades  Truncate uses lease recovery workflow 1. NameNode receives truncate call from a client, ensures the file is closed • Whole blocks are invalidated instantaneously. Return if nothing more to truncate • If not on the block boundary, then NameNode sets file length to newLength, opens the file for write, assigns a lease for it, persists truncate operation in editsLog, and returns to the client 2. NameNode designates a DataNode as primary for the last block recovery, and sends a DatanodeCommand to it, which contains the new length of the replica 3. Primary DataNode synchronizes the new length between the replicas, and confirms the result to the NameNode 4. NameNode completes truncate by releasing the lease and closing the file 20
  • 21. Truncate Workflow Atomic update of the namespace followed by the background truncate recovery 21 Active NameNodetruncate 1 2 recovery 4 confirm 3 synchronize P DataNodes
  • 22. Snapshots A file snapshot duplicates file metadata, but does not copy data blocks  File on the NameNode is represented by • INode contains file attributes: file length, permissions, times, quotas, replication • List of blocks belonging to the file, including replica locations for each block  File snapshot is a state of the file at a particular point in time  Snapshots are maintained on the NameNode by duplicating metadata • Pre-truncate file snapshot is represented by an immutable copy of INode only • List of blocks could only grow with appends – no need to duplicate the list 22
  • 23. Snapshot support for truncate Copy-on-truncate recovery is needed to create a snapshot copy of the last block  Snapshots are maintained on the NameNode by duplicating metadata • File snapshot is represented by an immutable copy of INode and • Possibly a list of blocks, also immutable o The block list is duplicated only when a truncate is performed  DataNode duplicates the block being truncated • The old replica belongs to the snapshot. The new replica is referenced by the file  Copy-on-truncate recovery is also handled by lease recovery workflow • Replica recovery command carries the new block • DataNodes keep the old replica unchanged, and copy its part to the new replica • Primary DataNode reports both replicas to the NameNode when recovery is done 23 <blockID, genStamp, blockLen>
  • 24. Synopsys Truncate file src to the specified newLength  Returns: • true if the file was truncated to the desired newLength and is immediately available to be reused for write operations such as append, or • false if a background process of adjusting the length of the last block has been started, and clients should wait for it to complete before they can proceed with further file updates  Throws IOException in the following error cases: • If src is a directory • If src does not exist or current user does not have write permissions for the file • If src is opened for write • If newLength is greater than the current file length public boolean truncate(Path src, long newLength) throws IOException; 24
  • 25. Semantics Truncate cuts the tail of the specified file to the specified new length  After truncate operation returns to the client new readers can read data up to the newLength • Reads beyond the new files length results in EOF • Old readers can still see old bytes until replica recovery is complete  After truncate operation returns the file may or may not be immediately available for write • If the newLength is on the block boundary, then the file can be appended to immediately • Otherwise clients should wait for the truncate recovery to complete 25
  • 27. Truncate testing tools  The DFSIO benchmark • Measures average throughput for read, write and append operations • Now also includes truncate  Slive is map reduce application • Randomly generates HDFS operations • Highly adjustable • Includes truncate 27
  • 28. Truncate Benchmarks Using DFSIO, measure performance of the following operations  Create large files  Append data to a file  Truncate files to a block boundary  Truncate file in the middle of a block without waiting for recovery  Truncate file in the middle of a block and waiting for recovery  Truncate file with a snapshot to cause copy-on-write truncate, with recovery 28
  • 29. NNThroughput Benchmark Pure metadata operations without RPC overhead 29 0 5,000 10,000 15,000 20,000 25,000 30,000 Create Mkdirs Delete Truncate 10 to 5 blocks Performance (ops/sec) 1 million operations with 1000 threads
  • 30. Further Improvements  Currently files are updated in HDFS as tape devices • Finally with the rewind  Allow to truncate an unclosed file by the same client • Optimization for transaction journal use case  Implement random writes • It is known it can be done  Concurrent writers: many clients writing records to the same file • Atomic append: each record is guaranteed to be written, but at an unknown offset 30
  • 31. Thanks to the Community Many people contributed to the truncate project  Konstantin Shvachko  Plamen Jeliazkov  Tsz Wo Nicholas Sze  Jing Zhao  Colin Patrick McCabe  Yi Liu  Milan Desai  Byron Wong  Konstantin Boudnik  Lei Chang  Milind Bhandarkar  Dasha Boudnik  Guo Ruijing  Roman Shaposhnik 31
  • 32. Thank You. Questions? Come visit WANdisco at Booth # P3 HDFS Truncate: Evolving Beyond Write-Once Semantics Konstantin V. Shvachko Plamen Jeliazkov
  翻译: