- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在安装在 windows10 上的 vmware 中的 Ubuntu 上安装了伪分布式独立 hadoop 版本。
我从网上下载了一个文件,复制到ubuntu本地目录/lab/data
我在 ubuntu 中创建了名为 namenodep 和 datan1 的 namenode 和 datanode 文件夹(不是 hadoop 文件夹)。我还在 hdfs 中创建了一个文件夹作为/input。
当我将文件从 ubuntu 本地复制到 hdfs 时,为什么该文件存在于以下两个目录中?
$ hadoop fs -copyFromLocal /lab/data/Civil_List_2014.csv /input
$hadoop fs -ls /input/
input/Civil_List_2014.csv ?????
$cd lab/hdfs/datan1/current
blk_3621390486220058643 ?????
blk_3621390486220058643_1121.meta
基本上我想知道它是否创建了 2 个副本,一个在 datan1 文件夹中,另一个在 hdfs 中?
Cảm ơn
1 Câu trả lời
没有。只创建一个副本。
当您在 HDFS 中创建文件时,文件的内容存储在数据节点的其中一个磁盘上。 Data Node存储数据的磁盘位置由配置参数决定:dfs.datanode.data.dir(存在于hdfs-site.xml中)
检查这个属性的描述:
dfs.datanode.data.dir
file:///e:/hdpdatadn/dn
Determines where on the local filesystem an DFS data node
should store its blocks. If this is a comma-delimited
list of directories, then data will be stored in all named
directories, typically on different devices.
Directories that do not exist are ignored.
true
以上,您的文件 HDFS 文件“/input/Civil_List_2014.csv”的内容存储在物理位置:lab/hdfs/datan1/current/blk_3621390486220058643。
“blk_3621390486220058643_1121.meta”包含存储在“blk_3621390486220058643”中的数据的校验和。
这个文件可能小到可以放在一个文件中。但是,如果文件很大(假设 > 256 MB 且 Hadoop block 大小为 256 MB),则 Hadoop 会将文件的内容拆分为“n”个 block 并将它们存储在磁盘上。在这种情况下,您将在数据节点的数据目录中看到“n”个“blk_*”文件。
此外,由于复制因子通常设置为“3”,因此会创建同一 block 的 3 个实例。
关于hadoop - Hadoop copyFromLocal 是否创建 2 个副本? - 1 个在 hdfs 内部,其他在 datanode 内部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33055498/
Tôi có một câu lệnh if trông như thế này if (not(fullpath.lower().endswith(".pdf")) or not (fullpath.lower().endswith(tup
Tuy nhiên, trong PHP, bạn có thể: chỉ xuất hiện nếu $foo là đúng. chỉ xuất hiện nếu $foo là sai. Trong Javascript, có thể
XML có nhiều lợi ích. Nó có thể được cả máy và người đọc, có định dạng chuẩn và được sử dụng rộng rãi. Nhưng nó cũng có một số nhược điểm. Cách này khá dài dòng và không hiệu quả để truyền tải lượng dữ liệu lớn. Một trong những khía cạnh hữu ích nhất của XML là ngôn ngữ lược đồ của nó. Sử dụng chế độ này, bạn có thể
Sau khi sử dụng SQL2000 trong một thời gian dài, tôi thực sự không hiểu sâu về Common Table Expressions. Câu trả lời tôi đưa ra ở đây (#4025380) và ở đây (#4018793) đi ngược lại xu hướng vì chúng không sử dụng CTE. Tôi đánh giá cao họ
Tôi có một ứng dụng: void deleteObj(id){ MyObj obj = getObjById(id); if (obj == null) { throw n
Mã của tôi như sau. Có lẽ tôi đã sử dụng nó nhiều lần theo cách tương tự, nghĩa là nói một cách đơn giản, tôi đang quản lý các phiên và giao dịch theo cách này: List users = null; try{ sess
Khi phát triển ứng dụng web J2EE, tôi thường sắp xếp cấu trúc gói của mình theo cách sau com.jameselsey.. Bộ điều khiển - Bộ điều khiển/Hành động nằm ở đây Dịch vụ - Các lớp dịch vụ giao dịch, được gọi bởi bộ điều khiển Miền - Các lớp/đối tượng miền của tôi được ứng dụng sử dụng D
Đây chỉ là sự tò mò hơn là bất kỳ câu hỏi quan trọng nào, nhưng tôi chỉ thắc mắc về đoạn trích sau từ tài liệu memmove: Việc sao chép diễn ra như thể một bộ đệm trung gian được sử dụng
Nén đường dẫn bao gồm việc chỉ định gốc làm nút cha mới của mọi nút trên đường dẫn - điều này có thể hạ cấp bậc của gốc và có khả năng hạ cấp bậc của tất cả các nút trên đường dẫn. Có cách nào để khắc phục lỗi này không? Có cần thiết phải giải quyết vấn đề này không? Hoặc có thể coi thứ hạng là giới hạn trên của chiều cao cây thay vì chiều cao chính xác? Cảm ơn
Tôi có hai lớp, lớp A và lớp B. A là lớp cha của B và tôi có một hàm nhận một con trỏ tới một lớp có kiểu A, kiểm tra xem lớp đó có phải là kiểu B không và nếu có thì sẽ gọi một hàm khác nhận một con trỏ tới một lớp có kiểu B. Khi một hàm gọi một hàm khác, tôi
Có cách nào để valgrind sử dụng nhiều bộ xử lý không? Tôi đang thực hiện một số phân tích nút thắt cổ chai bằng cách sử dụng callgrind của valgrind và nhận thấy rằng hành vi sử dụng tài nguyên trong ứng dụng của tôi khác với những gì tôi thấy trong valgrind/callgrind
Giả sử chúng ta muốn sử dụng ReaderT[(a,b)] trên monad Maybe và sau đó chúng ta muốn thực hiện tra cứu trong danh sách. Bây giờ, một cách tiếp cận đơn giản và không phổ biến là: Khả năng đầu tiên là tìm một = ReaderT (tra cứu
Có vẻ như có gì đó không ổn với mã của tôi. Những gì tôi cần nói là: if ( $('html').attr('lang').val() == 'fr-FR' ) { // làm điều này } else { // làm
Theo bài viết này (tháng 4 năm 2018), AKS có khả năng đặt các pod một cách thông minh trên các miền lỗi khi chạy trong một tập hợp khả dụng, nhưng vẫn chưa tính đến các miền cập nhật. Liệu có thể đưa pod vào AKS bằng cách sử dụng miền cập nhật sớm không? Câu trả lời hay nhất: Khi bạn thiết lập một cụm, nó sẽ tự động
khóa học | phần | loại comart2 : bsit201 : bài học comart2 :
Tôi đang phát triển SDK của riêng mình, và SDK này lại phụ thuộc vào một số SDK của bên thứ 3. Ví dụ - OkHttp. Tôi có nên thêm OkHttp vào build.gradle của mình hay để người dùng SDK của tôi đưa nó vào không? trong trường hợp này,
Khi Rust ngày càng được hoàn thiện hơn, tôi bắt đầu thấy hứng thú với nó. Tôi thích thực tế là nó hỗ trợ các kiểu dữ liệu đại số, đặc biệt là các kiểu dữ liệu khớp nhau, nhưng bạn có suy nghĩ gì về các thành ngữ chức năng khác không? Ví dụ, có một tập hợp các hàm lọc/ánh xạ/giảm chuẩn trong thư viện chuẩn không và quan trọng hơn là bạn có thể
đóng cửa. Câu hỏi này không đáp ứng được hướng dẫn của Stack Overflow. Hiện tại câu hỏi này không chấp nhận câu trả lời. Câu hỏi này có vẻ không liên quan đến lập trình trong phạm vi được xác định trong trung tâm trợ giúp. . Đã đóng cửa cách đây 9 năm. Cải thiện
Tôi đang nghiên cứu về đối tượng trong PHP. Tất cả các ví dụ tôi đã thấy đều sử dụng hàm tạo đối tượng ngay cả trên chính đối tượng của chúng. PHP có buộc bạn phải làm điều này không? Nếu có, tại sao? Ví dụ: firstname = $firstname;
...so với mảng kết hợp? Mảng kết hợp có chiếm nhiều bộ nhớ hơn không? $arr = mảng(1, 1, 1); $arr[10] = 1; $arr[] = 1; // <- chỉ số là 11; thực hiện
Tôi là một lập trình viên xuất sắc, rất giỏi!