Hadoop 文件查看工具

大数据分析系统Hadoop的13个开源工具 Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo!DougCutting根据Google发布的学术论文研究而来。用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理海量数据的应用程序。低成本、高可靠、高扩展、高有效、高容错等特性让Hadoop成为最流行的大数据分析系统,然而其赖以生存的HDFS和MapReduce组件却让... 阅读详情

packages.config

<?xml version="1.0" encoding="utf-8"?>

<packages>
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
  <package id="Microsoft.Data.Edm" version="5.2.0" targetFramework="net45" />
  <package id="Microsoft.Data.OData" version="5.2.0" targetFramework="net45" />
  <package id="Microsoft.Hadoop.WebClient" version="0.12.5126.42915" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.8.0.0" targetFramework="net45" />
  <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" />
  <package id="System.Spatial" version="5.2.0" targetFramework="net45" />
  <package id="WindowsAzure.Storage" version="2.0.4.1" targetFramework="net45" />
</packages>

Explorer.cs

using System;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using Microsoft.Hadoop.WebHDFS;

namespace HdfsExplore
{
    public partial class Explorer : Form
    {
        private WebHDFSClient client;

        public Explorer()
        {
            InitializeComponent();

            if (!CreateClient())
            {
                return;
            }

            // 使用驱动器列表填充TreeView
            PopulateDriveList();
        }

        //此过程使用驱动器列表填充TreeView
        private async void PopulateDriveList()
        {
            TreeNode nodeTreeNode;
            var imageIndex = 0;
            var selectIndex = 0;

            const int Removable = 2;
            const int LocalDisk = 3;
            const int Network = 4;
            const int CD = 5;
            //const int RAMDrive = 6;

            Cursor = Cursors.WaitCursor;
            //清除TreeView
            tvFolders.Nodes.Clear();
            nodeTreeNode = new TreeNode("Hadoop Root", 0, 0);
            tvFolders.Nodes.Add(nodeTreeNode);

            //设置节点集合
            var nodeCollection = nodeTreeNode.Nodes;


            var x = await client.GetDirectoryStatus("/");


            foreach (var mo in x.Directories)
            {
                //switch (int.Parse(mo["DriveType"].ToString()))
                //{
                //    case Removable:           //removable drives
                //        imageIndex = 5;
                //        selectIndex = 5;
                //        break;
                //    case LocalDisk:           //Local drives
                //        imageIndex = 6;
                //        selectIndex = 6;
                //        break;
                //    case CD:              //CD rom drives
                //        imageIndex = 7;
                //        selectIndex = 7;
                //        break;
                //    case Network:         //Network drives
                //        imageIndex = 8;
                //        selectIndex = 8;
                //        break;
                //    default:              //defalut to folder
                //        imageIndex = 2;
                //        selectIndex = 3;
                //        break;
                //}

                imageIndex = 6;
                selectIndex = 6;

                //创建新的驱动器节点
                nodeTreeNode = new TreeNode(mo.PathSuffix, imageIndex, selectIndex);

                //添加新节点
                nodeCollection.Add(nodeTreeNode);
            }


            //初始化文件ListView
            InitListView();

            Cursor = Cursors.Default;
        }

        private void tvFolders_AfterSelect(object sender, TreeViewEventArgs e)
        {
            //选择文件夹时填充文件夹和文件
            Cursor = Cursors.WaitCursor;

            //获取当前所选驱动器或文件夹
            var nodeCurrent = e.Node;

            //清除所有子文件夹
            nodeCurrent.Nodes.Clear();

            if (nodeCurrent.SelectedImageIndex == 0)
            {
                //重新填写驱动器列表
                PopulateDriveList();
            }
            else
            {
                //填充子文件夹和文件夹文件
                PopulateDirectory(nodeCurrent, nodeCurrent.Nodes);
            }
            Cursor = Cursors.Default;
        }

        protected void InitListView()
        {
            //初始化ListView控件
            lvFiles.Clear();
            //创建ListView的列标题
            lvFiles.Columns.Add("名称", 150, HorizontalAlignment.Left);
            lvFiles.Columns.Add("大小", 75, HorizontalAlignment.Right);
            lvFiles.Columns.Add("上次访问", 140, HorizontalAlignment.Left);
            lvFiles.Columns.Add("上次修改", 140, HorizontalAlignment.Left);


            lvFiles.Columns.Add("用有者", 75);
            lvFiles.Columns.Add("权限", 75);


        }

        protected async void PopulateDirectory(TreeNode nodeCurrent, TreeNodeCollection nodeCurrentCollection)
        {
            TreeNode nodeDir;
            var imageIndex = 2; //未选择的图像索引
            var selectIndex = 3; //选择图像索引

            if (nodeCurrent.SelectedImageIndex != 0)
            {
                //用文件夹填充树视图
                try
                {
                    var directoryStatus = await client.GetDirectoryStatus(getFullPath(nodeCurrent.FullPath));


                    var dirs = directoryStatus.Directories;

                    //check path
                    //if (!dirs.Any())
                    //{
                    //    MessageBox.Show("Directory or path " + nodeCurrent.ToString() + " does not exist.");
                    //}
                    //else
                    //{
                    //填充文件
                    PopulateFiles(nodeCurrent);

                    var stringDirectories = dirs.Select(x => x.PathSuffix).ToArray();
                    var stringFullPath = "";
                    var stringPathName = "";

                    //循环遍历所有目录
                    foreach (var stringDir in stringDirectories)
                    {
                        stringFullPath = stringDir;
                        stringPathName = GetPathName(stringFullPath);

                        //创建目录节点
                        nodeDir = new TreeNode(stringPathName, imageIndex, selectIndex);
                        nodeCurrentCollection.Add(nodeDir);
                    }
                    //}
                }
                catch (IOException e)
                {
                    MessageBox.Show("Error: Drive not ready or directory does not exist.");
                }
                catch (UnauthorizedAccessException e)
                {
                    MessageBox.Show("Error: Drive or directory access denided.");
                }
                catch (Exception e)
                {
                    MessageBox.Show("Error: " + e);
                }
            }
        }

        protected string GetPathName(string stringPath)
        {
            //获取文件夹的名称
            var stringSplit = stringPath.Split('\\');
            var _maxIndex = stringSplit.Length;
            return stringSplit[_maxIndex - 1];
        }

        protected async void PopulateFiles(TreeNode nodeCurrent)
        {
            //使用文件填充列表视图
            var lvData = new string[6];

            //清除列表
            InitListView();

            if (nodeCurrent.SelectedImageIndex != 0)
            {
                var directoryStatus = await client.GetDirectoryStatus(getFullPath(nodeCurrent.FullPath));


                try
                {
                    var files = directoryStatus.Files; // Directory.GetFiles(getFullPath(nodeCurrent.FullPath));
                    var stringFileName = "";
                    string dtCreateDate, dtModifyDate;
                    Int64 lFileSize = 0;

                    //循环遍历所有文件
                    foreach (var file in files)
                    {
                        stringFileName = file.PathSuffix;
                        //FileInfo objFileSize = new FileInfo(stringFileName);
                        lFileSize = file.Length;
                        dtCreateDate = Utility.JavaTicksToDatetime(file.AccessTime).ToString();
                        //GetCreationTime(stringFileName);
                        dtModifyDate = Utility.JavaTicksToDatetime(file.ModificationTime).ToString();
                        //GetLastWriteTime(stringFileName);

                        //创建列表视图数据
                        lvData[0] = GetPathName(stringFileName);
                        lvData[1] = formatSize(lFileSize);

                        lvData[2] = dtCreateDate;

                        lvData[3] = dtModifyDate;

                        lvData[4] = file.Owner;
                        lvData[5] = file.Permission;

                        //创建实际列表项
                        var lvItem = new ListViewItem(lvData, 0);
                        lvFiles.Items.Add(lvItem);
                    }
                }
                catch (IOException e)
                {
                    MessageBox.Show("错误:驱动器未准备好或目录不存在.");
                }
                catch (UnauthorizedAccessException e)
                {
                    MessageBox.Show("错误:驱动器或目录访问被拒绝.");
                }
                catch (Exception e)
                {

                }
                // }
            }
        }

        protected string getFullPath(string stringPath)
        {
            //获取完整路径
            var stringParse = "";
            //从路径中删除根目录.
            stringParse = stringPath.Replace("Hadoop Root\\", "/").Replace("\\", "/");

            return stringParse;
        }

        protected string getFullPath(TreeNode nodeCurrent)
        {
            var path = nodeCurrent.FullPath;

            return getFullPath(path);
        }

        protected string formatSize(Int64 lSize)
        {
            //格式编号为KB
            var stringSize = "";
            var myNfi = new NumberFormatInfo();

            Int64 lKBSize = 0;

            if (lSize < 1024)
            {
                if (lSize == 0)
                {
                    //0 byte
                    stringSize = "0";
                }
                else
                {
                    //小于1K但不是零字节
                    stringSize = "1";
                }
            }
            else
            {
                //转换为KB
                lKBSize = lSize / 1024;
                //默认格式的格式数字
                stringSize = lKBSize.ToString("n", myNfi);
                //移除 decimal
                stringSize = stringSize.Replace(".00", "");
            }

            return stringSize + " KB";
        }

        private void menuItem2_Click(object sender, EventArgs e)
        {
            //退出应用
            Close();
        }

        private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Button != MouseButtons.Right) return;
            if (e.Node == null) return;

            //MessageBox.Show(e.Node.FullPath);

            tvFolders.SelectedNode = e.Node;

            InitcmsOneRout();

            cmsOneRout.Show(tvFolders, e.X, e.Y);
        }

        private void InitcmsOneRout()
        {
            cmsOneRout = new ContextMenuStrip();

            var tmiEditRoutStation = new ToolStripMenuItem("修改Owner");
            cmsOneRout.Items.Add(tmiEditRoutStation);

            var changePermission = new ToolStripMenuItem("修改权限");

            changePermission.Click += changePress_Click;
            cmsOneRout.Items.Add(changePermission);
            var tmiDel = new ToolStripMenuItem("删除");

            tmiDel.Click += tmiDel_Click;
            cmsOneRout.Items.Add(tmiDel);

        }

        async void changePress_Click(object sender, EventArgs e)
        {
            //if (lvFiles.SelectedItems.Count == 0)
            //    return;

            if (tvFolders.SelectedNode == null)
                return;

            var remotepath = getFullPath(tvFolders.SelectedNode);
            //var remotefile = remotepath.TrimEnd('/') + "/" + lvFiles.SelectedItems[0].Text;
            var permissions = await client.GetFileStatus(remotepath);

            InputName ip = new InputName("修改权限(" + remotepath + ")", permissions.Permission);

            if (ip.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if (string.IsNullOrWhiteSpace(ip.StrInput))
                {
                    MessageBox.Show("不能为空项");
                    return;
                }

                await client.SetPermissions(remotepath, ip.StrInput);
            }
        }




        private void tmiDel_Click(object sender, EventArgs e)
        {
            var path = getFullPath(tvFolders.SelectedNode);

            //client = new WebHDFSClient(new Uri("http://zhangbaowei:50070"), "hadoop");

            client.DeleteDirectory(path, true);

            MessageBox.Show("删除完成");

            tvFolders.SelectedNode.Remove();
        }

        private void menuItem5_Click(object sender, EventArgs e)
        {
            var parentPath = "/";

            if (tvFolders.SelectedNode != null)
            {
                parentPath = getFullPath(tvFolders.SelectedNode);
            }

            var name = new InputName();

            if (name.ShowDialog() != DialogResult.OK)
                return;


            var newname = name.StrInput;


            client.CreateDirectory(parentPath.TrimEnd('/') + "/" + newname);
        }

        private void menuItem6_Click(object sender, EventArgs e)
        {
            showSetting();
            PopulateDriveList();
        }

        private void showSetting()
        {
            var setting = new Setting();

            if (setting.ShowDialog() == DialogResult.OK)
            {
                CreateClient();
            }
        }

        private bool CreateClient()
        {
            var url = AppConfig.GetValue("hdfsurl");

            var username = AppConfig.GetValue("username");


            if (string.IsNullOrWhiteSpace(url) || string.IsNullOrWhiteSpace(username))
            {
                MessageBox.Show("未进行正确配置");
                showSetting();

                return false;
            }

            client = new WebHDFSClient(new Uri(url), username);

            return true;
        }

        private void menuItem7_Click(object sender, EventArgs e)
        {
            if (tvFolders.SelectedNode == null)
            {
                MessageBox.Show("未选中上传目标");
                return;
            }

            OpenFileDialog of = new OpenFileDialog();
            of.Multiselect = true;

            if (of.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {

                var remotepath = getFullPath(tvFolders.SelectedNode);


                var filename = of.FileNames;

                foreach (var s in filename)
                {
                    client.CreateFile(s, remotepath.TrimEnd('/') + "/" + Path.GetFileName(s));
                }

                PopulateFiles(tvFolders.SelectedNode);

            }
        }

        private void menuItem8_Click(object sender, EventArgs e)
        {
            var items = lvFiles.SelectedItems;
            var remotepath = getFullPath(tvFolders.SelectedNode);
            foreach (var item in items)
            {


                var filename = ((ListViewItem)item).Text;

                client.DeleteDirectory(remotepath.TrimEnd('/') + "/" + filename);
            }
        }

        private async void lvFiles_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            ListViewHitTestInfo info = lvFiles.HitTest(e.X, e.Y);
            ListViewItem item = info.Item;

            if (item != null)
            {
                //MessageBox.Show("The selected Item Name is: " + item.Text);

                var remotepath = getFullPath(tvFolders.SelectedNode);
                var remotefile = remotepath.TrimEnd('/') + "/" + item.Text;
                var message = await client.OpenFile(remotefile);

                var content = await message.Content.ReadAsStringAsync();


                ContentViewer cv = new ContentViewer(content, remotefile);
                cv.Show();

            }
            else
            {
                this.lvFiles.SelectedItems.Clear();
                MessageBox.Show("No Item is selected");
            }
        }

        private void lvFiles_MouseClick(object sender, MouseEventArgs e)
        {
            //判断鼠标是否右键
            if (e.Button == MouseButtons.Right)
            {
                if (this.lvFiles.SelectedItems.Count > 0)  //选中项
                {

                    var cmslv = new ContextMenuStrip();

                    var tmiEditRoutStation = new ToolStripMenuItem("权限");
                    tmiEditRoutStation.Click += tmiEditRoutStation_Click;
                    cmslv.Items.Add(tmiEditRoutStation);

                    var tmiDelte = new ToolStripMenuItem("删除");
                    tmiDelte.Click += tmiDelte_Click;
                    cmslv.Items.Add(tmiDelte);


                    var downloadFile = new ToolStripMenuItem("下载");
                    downloadFile.Click += downloadFile_Click;
                    cmslv.Items.Add(downloadFile);


                    cmslv.Show(lvFiles, e.Location);
                    //this.lvFiles.ContextMenuStrip = cms选中菜单;
                }
                else   //未选中项
                {
                    //this.lvFiles.ContextMenuStrip = cms未选中菜单;
                }
            }
        }

        async void downloadFile_Click(object sender, EventArgs e)
        {
            if (lvFiles.SelectedItems.Count == 0)
                return;

            var remotepath = getFullPath(tvFolders.SelectedNode);


            var filefolder = new FolderBrowserDialog();

            if (filefolder.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                return;

            var locafolder = filefolder.SelectedPath;


            foreach (var lvFile in lvFiles.SelectedItems)
            {
                var removefilename = ((ListViewItem)lvFile).Text;
                var remotefile = remotepath.TrimEnd('/') + "/" + removefilename;

                var file = await client.OpenFile(remotefile);

                var filebytes = await file.Content.ReadAsByteArrayAsync();

                var locafile = locafolder + "/" + removefilename;

                System.IO.File.WriteAllBytes(locafile, filebytes);
                //lvFiles.Items.Remove((ListViewItem)lvFile);


            }

            MessageBox.Show("下载成功");
        }

        async void tmiDelte_Click(object sender, EventArgs e)
        {
            if (lvFiles.SelectedItems.Count == 0)
                return;

            var remotepath = getFullPath(tvFolders.SelectedNode);


            foreach (var lvFile in lvFiles.SelectedItems)
            {
                var remotefile = remotepath.TrimEnd('/') + "/" + ((ListViewItem)lvFile).Text;

                await client.DeleteDirectory(remotefile);

                lvFiles.Items.Remove((ListViewItem)lvFile);
            }


        }

        async void tmiEditRoutStation_Click(object sender, EventArgs e)
        {
            if (lvFiles.SelectedItems.Count == 0)
                return;

            var remotepath = getFullPath(tvFolders.SelectedNode);
            var remotefile = remotepath.TrimEnd('/') + "/" + lvFiles.SelectedItems[0].Text;


            InputName ip = new InputName("修改权限(" + remotefile + ")");

            if (ip.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if (string.IsNullOrWhiteSpace(ip.StrInput))
                {
                    MessageBox.Show("不能为空项");
                    return;
                }

                await client.SetPermissions(remotefile, ip.StrInput);
            }
        }
    }
}

运行结果如图:

这里写图片描述

HDFS之查看文件块内容 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.util.Progressable; import org.junit.After; import org.junit.Be... 阅读详情

相关推荐

二进制文件查看与比较实用工具

二进制文件是计算机中存储数据和程序的一种文件格式,其内容由一系列的0和1组成。BIN文件(Binary File)是一种特定的二进制文件格式,通常包含计算机可以直接执行的程序代码。与文本文件不同,文本文件可通过普通文本编辑器查看和编辑,而二进制文件需要专用的工具或软件才能被解析。

weixin_27645199的博客 2157

Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言(HiveQL)来查询和分析存储在Hadoop中的数据

Hive执行JOIN操作的方式取决于输入数据的分桶方式和优化参数的设置。Hive是基于Hadoop的一个数据仓库工具,它可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。你可以使用不同的JOIN类型(如INNER JOIN、LEFT JOIN、RIGHT JOIN等)来根据指定的条件将表连接起来。Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言(HiveQL)来查询和分析存储在Hadoop中的数据。LIMIT子句:Hive支持使用LIMIT子句限制查询结果的数量。

[Blog][Domain] programb.blog.youkuaiyun.com 1321

HDFS本地查看器

自己实现的一个简单的HDFS查看器源码。 运行方式:将2个class文件拷贝到namenode的hadoop bin目录下,然后运行 JAVA Main 就可以打开该查看器。 注意事项: hadoop的dfs服务必须启动 必须放在hadoop的bin目录下运行,因为代码中调用hadoop脚本是采用当前目录,可自己在代码中修改。

Hadoop工具二

‌Hive‌:‌特点‌:Apache Hive是建立在Hadoop之上的数据仓库基础架构,提供数据汇总、查询和分析功能。它提供了一个类似于SQL的界面来查询存储在Hadoop中的数据。‌特点‌:Talend是一家专门从事大数据集成的软件供应商,其ETL系统可高效地管理数据提取、转换和加载的所有方面。‌用途‌:用于数据集成和ETL过程,支持图形化作业设计和超过900个组件和内置连接器,提高开发人员的生产力。‌用途‌:用于数据仓库和数据查询分析,支持大型数据集的索引、查询和分析功能。

2301_82244587的博客 256

windows平台下的HDFS文件浏览器

可视化hadoop页面工具,可以查看存储文件及路径, 谢谢

HDFS管理工具HDFS Explorer下载地址、使用方法.docx

windows平台下的HDFS文件浏览器,就像windows管理器一样管理你的hdfs文件系统。现在官网已经停止更新这款软件。具体配置如下: HDFS配置页面及端口http://master:50070 配置HDFS服务器 配置WebHDFS HDFS Explorer通过WebHDFS访问HDFS,必须配置HDFS支持webhdfs。在hdfs-site.xmle文件中添加如下内容: dfs.webhdfs.enabled true

十八款Hadoop工具帮你驯服大数据

十八款Hadoop工具帮你驯服大数据    【2013年12月12日 51CTO外电头条】Hadoop已经通过自身的蓬勃发展证明,它不仅仅是一套用于将工作内容传播到计算机群组当中的小型堆栈--不,这与它的潜能相比简直微不足道。这套核心的价值已经被广泛证实,目前大量项目如雨后春笋般围绕它建立起来。有些项目负责数据管理、有些负责流程监控、还有一些则提供先进的数据存储机制

Jack Zhu 1337

BAPI创建委外采购订单

使用BAPI BAPI_PO_CREATE1创建委外采购订单,组件为手工输入时,有几个点需要注意: 1、已通过CS01创建过BOM的物料,创建时会自动带出components。如果要修改当前组件清单,可以通过设置pocomponents-change_id = 'E’来实现 lv_sline = lv_sline + 1. ls_pocomponents-po_item = l_ebelp + 10. ls_pocomponents-ITEM_NO = l

Buffalo_soldier的博客 3260

Hadoop oiv、oev

【oiv】offline image viwer --------------------------------------------------------------1.用于查看Hadoop fsimage 2.语法 $> hdfs oiv -i inputfile -o outputfile -P process 3.inputfile: 要查看的fsimage文件 outputfile: 用于保存格式化之后的文件 process: 使用什么进程解码,XML|We...

mayaohao的博客 639

解读区块链在制药和物流管理中具备的优势

供应链透明度是建立药品弹性供应链的关键,如何更好地促进端到端的透明度,促进合作伙伴和消费者之间的信任度是当前医药和物流行业高管们关注的话题,区块链技术可以很好的帮助他们。 链集市 · 让区块链落地更简单 《区块链行业观察》专栏·第 31 篇 作者丨Shams Rahman 图片丨来源于网络 作者介绍:本文作者为Shams Rahman教授,是RMIT大学商业IT和物流学院的供应链管理教授、研究与创新部门副主任。本文中文版本由链集市团队编译整理,英文版权归原作者所有,中文转载请联系编译。 新冠肺炎疫情的爆发

CECBC的博客 622

Meta DINOv3实战指南:如何用7B参数ViT模型提升你的视觉任务性能(附Hugging Face部署教程)

本文提供了Meta DINOv3 7B参数ViT模型的实战部署指南。文章详细解析了该自监督视觉模型的优势,并重点演示了如何在Hugging Face平台上高效加载这一大规模模型,同时给出了图像分类、语义分割等下游任务的性能提升技巧与代码示例,帮助开发者在实际视觉任务中应用这一前沿技术。

pz89012345的博客 323

Hadoop的hdfs常用的文件命令

1.中文:https://segmentfault.com/a/1190000002672666 2.英文http://hadoop.apache.org/docs/r2.7.4/hadoop-project-dist/hadoop-common/FileSystemShell.html#cat

jia_zhengshen的专栏 701

Upwork入门指南:如何创建吸引人的个人资料

本文详细介绍了如何在Upwork上创建并优化个人资料,帮助自由职业者吸引更多客户。内容包括: 注册与验证:从注册账号到邮箱验证的完整步骤。 个人资料填写:如何撰写吸引人的标题、简介,选择技能标签,以及设置专业头像和费率。 作品集与优化:上传高质量作品集,提升搜索排名和客户信任度。 常见问题解答:解决新手常见问题,如无工作经验或审核不通过。 通过本文的指导,你将学会打造一个专业且高效的个人资料,为在Upwork上获得更多机会奠定基础。

qq_61813593的博客 3510

6、hadoop上命令行查看lzo、gz、bz文件

hadoop上命令行查看lzo、gz、bz文件 发表于2019-03-25|分类于hadoop||游览806 hadoop上命令行查看lzo、gz、bz文件 HDFS上的文件可能是压缩的,所以用cat不能直接查看。hadoop上默认支持lzo、gz、bz2、snappy压缩格式。 我们用命令行查看HDFS上压缩文件,也是可以的。 lzo文件 查看 HDFS 上 ...

java___boy的博客 3147

方法二:旋转机械动平衡精度计算

本文以实际案例为基础,系统阐述基于ISO 1940标准的动平衡精度G GG等级计算方法。通过角速度转换、许用剩余不平衡量e p e r e_{per}e per ​ 推导及G GG等级公式应用,结合惯性力偶矩、转子质量等参数,得出某转子系统的动平衡精度为G 40 G40G40。文中详细解析了公式原理与参数单位转换要点,并附完整ISO 1940动平衡等级参考表,为工程师提供从理论到实践的完整解决方案。研究结果表明,该方法可有效量化旋转机械的平衡精度,适用于风机、泵类等中低速设备的设计与调试,对提升设备运行

weixin_46153372的博客 920

基于单片机设计的智能消防排烟窗控制系统_422

随着城市化进程的不断加快,高层建筑、大型商业综合体以及地下空间的数量迅速增加,建筑内部结构日趋复杂,一旦发生火灾,烟雾和有毒气体往往比明火更具威胁性。大量研究表明,在火灾事故中,人员伤亡的主要原因并非直接烧伤,而是由于吸入烟雾及一氧化碳等有毒气体导致窒息。因此,如何在火灾初期快速排烟、降低有害气体浓度,并及时进行预警,成为现代消防系统设计中的关键问题。传统的消防排烟系统多依赖人工操作或简单的联动控制方式,存在响应滞后、自动化程度低、信息反馈不及时等问题。在实际应用中,当火灾发生时,如果不能第一时间开启排烟窗

366

在mac上面使用parquet-cli查看parquet文件

需要在mac上面简单查看parquet文件,parquet格式是hadoop生态的文件格式。也就是说,这个是大数据这块领域的基础文件格式之一。

fxtxz2的专栏 714

【OS】AUTOSAR架构下MCAL Modules软件分区问题分析

AUTOSAR架构下MCAL Modules软件分区问题分析

qq_36056498的博客 939

Hadoop集群测试

一、创建本地文件   在本地input文件夹下创建了两个文件,分别为test1.txt和test2.txt。 二、创建Hadoop文件目录 三、拷贝本地文件到Hadoop目录 四、运行Hadoop自带的WordCount 查看运行文件结果: 也可以通过50070来查看文件 转载于:https://www.cnblogs.com/techblogs/p/5...

151

Ros入门 (十)----激光雷达避障 简易实现

本篇文章通过订阅/scan话题获取障碍物的距离信息,达到避障目的,提供部分代码,仅供参考。

weixin_51157015的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

hadoop之HAR文件操作命令

1.hadoop Archive的作用是什么?2.怎么使用hadoop Archive?3.怎么查找Archive文件?4.怎样解压Archive文件?5.本文还介绍了哪些命令?概述 所有的Hadoop命令都通过bin/hadoop脚本调用。在没有任何参数的情况下,运行Hadoop脚本将打印该命令描述。 [Bash shell] 纯文本查看 复制代码 ? 01 02 ...

Neo_Lee的博客 7199

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

hadoop, lzo文件怎么查看

其中,filename.lzo是要解压缩的LZO文件名。解压缩后,可以使用常规的文本查看工具,如cat、less等来查看文件内容。LZO是一种压缩算法,Hadoop支持LZO格式的文件。如果要查看LZO格式的文件内容,需要先解压缩。该命令将会把LZO文件中的内容解压缩并以文本格式输出。

Little SunShine 867

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Hadoop查看默认配置文件或者方法源码

Hadoop查看默认配置文件 网上查询默认配置文件位置: 一般是在 /opt/module/hadoop-3.1.3/share/hadoop 各个目录内的jar包中: 以下为获取默认配置文件core-default.xml为例: 第一步、将配置文件的jar包下载到桌面 第二步、打开反编译工具,将文件拖入反编译工具中即可得到需要的配置文件。 Hadoop查看WordCount源码 和查看默认配置文件方法一样 第一步、将方法jar包下载到桌面 第二步、反编译jar包即可查找方法源码 ...

weixin_47621995的博客 2961

[zz]HDFS文件操作

Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。       1.  查看文件列表查看hdfs中/user/admin/hdfs目录下的文件。a. 进入HADOOP_HOME目录。b. 执行sh bin/hadoop fs -ls /user/admin/hdfs查看hdfs中/user/admin/hdfs目录下的所有文件(包括子目录下的文件)。a. ...

weixin_33953249的博客 213

查看hadoop日志的方法

查看日志的方法 hadoop-hadoop-datanode-hadoop002.loghadoop-用户-进程名称-机器名称hadoop日志分为log日志和out日志,我们基本上只看log日志[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ cd logs/[hadoop@hadoop001 logs]$ lltotal 1840-rw-rw-r-- 1...

weixin_30457881的博客 4114

hadoop(二)--Hdfs文件系统

 上一篇,我们搭建了hadoop的集群环境(双节点)  hadoop天生就是集群,哪怕只有一个节点也是个单节点的集群,在hadoop中底层默认使用了HDFS文件系统,mapreduce是基于HDFS文件系统上的运行模型(框架),而yarn是hadoop2.x版本后从mapreduce框架中分离出的资源调度框架,关于yarn框架我们后面再细说。咳咳,现在回到正题。在hadoop中HDFS是自带(默认...

jasnet_u的博客 549
上一篇: Linux数字权限解释
下一篇: NET实现Hadoop增删改查
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值