数据开发的工具箱

wang-possible
wang-possible
wang-possible
9
文章
0
评论
2020-08-2613:08:00 评论 1,389 4834字
摘要

作为大数据工程师,天天要和 Linux 打交道,所以行走 Linux 江湖,要有一个趁手的家伙。下面这几个神兵利器,总有一款适合你。

1、Linux 交互

作为大数据工程师,天天要和 Linux 打交道,所以行走 Linux 江湖,要有一个趁手的家伙。下面这几个神兵利器,总有一款适合你。

  • Xshell
  • MobaXterm
  • WinScp

Xshell

在 windows 下面 Linux 的链接工具最常见的是 xshell。先来看看 Xshell 的"门面"。

数据开发的工具箱

如上图所示,我们可以在"会话管理器"中增、删、改 Linux 的链接信息。在上面的菜单里面还有可视化的链接管理按键。最关键的是中间黑底绿字的终端编辑框。

简单的介绍了一下 Xshell 的门面。我们来看一下 xshell 的简单的使用:

新建一个 Linux 的链接

数据开发的工具箱

选择小窗口上方新建

数据开发的工具箱

  • 名称:就是会话的名字,随便写,方便记住就行
  • 协议:默认就是SSH,不用管它
  • 主机:就是你的空间的IP
  • 端口号:就是你空间的端口号ssh port
  • 其他不填,然后点击确定,添加成功。

创建好之后点击链接按钮:

数据开发的工具箱

之后会让你输入你linux系统的账号密码。输入成功之后,点击确定

数据开发的工具箱

这个时候你的xshell已经成功链接你的linux了。

Xmanager5 的使用

xshell 还有另外一个功能,就是作为 FTP 的客户端,对服务器上的文件进行增、删操作。集成性比较好。

点击下图中红色圈出的按键。

数据开发的工具箱

在打开的Xftp页面上,我们可以看到,这个时候是自动连接上了刚刚在Xshell连接的服务器。如果我们是直接打开Xftp的话,需要手动连接服务器的,,从Xshell关联过来,就方便很多了。

数据开发的工具箱

如图所示,就可以再本地的文件和 Linux 文件夹里面相互 copy 文件了。

MobaXterm

MobaXterm 一个功能强大,只是推广的不太好。xshell 有的功能它都有。这里我们重点来讲一下这个工具。

总结一下这款神器的功能:

  • 本地终端
  • session 远程链接LInux

数据开发的工具箱

local terminal 的功能真心的好棒啊,下图中我们可以看到它把 window 虚拟化成了一个 linux 系统。

里面还有漂亮的命令行装饰,还能使用 linux 下面的 grep 命令,不仅这一个命令,其他 Linux 下面常用命令都是可以使用的。这笔 git for window 漂亮多了。

数据开发的工具箱

我的几个建议:

隐藏菜单栏下的那排按钮。那排按钮没多大用处,还整天占那么大地方。简直不要太扎眼。所有我决定去掉它。

在菜单栏点击 「view」 --> 「show menu bar」,即可隐藏此排按钮。

数据开发的工具箱

右键粘贴。在Moba及很多终端工具里,都有这样的功能:鼠标左键划选复制文件,右键粘贴文本。但在Moba中右键粘贴功能默认不打开,我们可以手动打开。

在菜单栏点击 「settings」 --> 「Configuration」,在弹出的对话框中选择 「terminal」,再将 「paste using right-click」 打上对勾即可。

数据开发的工具箱

winSCP

winscp是个windows环境下使用ssh的开源图形化sftp客户端。同时支持scp协议。它的主要功能就是在本地与远程计算机间安全的复制文件。通过winscp可以编辑、删除vps上的文件,和上传文件到vps。与ftp不同的是,ftp通过会限制在某目录中,而使用root通过winscp登录后则可以操作系统中的所有文件。

说了这么多,我们主要用的是它本机编辑 Linux 上文件的功能。如下图所以的,我们可以像打开本地文件一样打开 Linux 服务器上的文件了,而且当我们保存文件后,WinScp 也会帮我我们把改动同步到 Linux 上面去。

数据开发的工具箱

数据开发的工具箱

对于我们我们数据开发来说有什么用呢?我们可以通过 winScp 编辑服务器上的 sql 文件和 shell 文件,就像编辑本地文件一样,我们可以使用我们本地电话上的编辑器。在 Linux 上恐怕我们只能使用 vim 了。

2、代码管理

对于一个团队来说,除了人之外,最宝贵的资产莫过于代码和文档。现在管理代码的首选工具一定是 git 了。服务器版本的 git 工具那肯定是 gitlab 。对于我们数据开发来说,最常使用的是 git 的客户端,下面我们就来讲讲在 window 的环境下比较流行的 git 客户端工具。

  • git for window
  • sourceTree

git for window

先来看看他的"门面"吧。下图是 git for window 的命令行界面。

数据开发的工具箱

在上图中的我们可以看到它是其实也是 Linux 的虚拟工具。出来可以执行 git 的命令,我们还可以使用 grep、find、sed、awk、vim 等命令。可以看作的 MobaXterm 的字工具。

说完命令行界面,再来看看它的图形界面,使用图形界面可以完成日期的 git 使用。

数据开发的工具箱

sourceTree

SourceTree拥有一个精美简洁的界面,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。

SourceTree拥有完整的Git功能:

  • 通过一个简单的用户界面即可使用所有的Git命令
  • 通过一次单击,即可管理所有的Git库,无论是托管的还是本地的
  • 通过一次单击,即可进行commit、push、pull、merge等操作
  • 一些先进的功能,如补丁处理、rebase、shelve、cherry picking等
  • 可以连接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代码库

3、高级编辑器

作为优秀的"码农",怎么能没有一个趁手的"编辑器"呢? 于是我们就来介绍一下编辑器那家强。

先来看看有那几个编辑器选手:

  • nodepad++
  • sublime
  • vsCode
  • vim

nodepad++

Notepad++ 是一款仅支持在 Windows 系统中运行的自由开源文本编辑器,可以免费使用,支持多国语言。

貌似沾了 Nodepadd 的光,有大量的开发人员都在使用这款编辑器。

  1. 内置支持多达 27 种语法高亮显示(囊括各种常见的源码、脚本,值得一提的是,完美支持 .nfo 文件查看),也支持自定义语言
  2. 可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,代码显示得非常有层次感,这是此软件最具特色的体现之一
  3. 可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例,等等
  4. 提供数个特色功能,如邻行互换位置,宏功能,等等…现在网上有很多文件编辑器,这个却是不可多得的一款,不论是日常使用还是手写编程代码,都能让你体会到它独有的优势和方便。

sublime

Sublime Text 是一个文本编辑器(收费软件,可以无限期试用,但是会有激活提示弹窗),同时也是一个先进的代码编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

特色功能如下:

  1. 良好的扩展功能,官方称之为安装包(Package)。
  2. 右边没有滚动条,取而代之的是代码缩略图,这个功能非常赞
  3. 强大的快捷命令"可以实时搜索到相应的命令、选项、snippet和syntex,按下回车就可以直接执行,减少了查找的麻烦。"
  4. 即时的文件切换。
  5. 随心所欲的跳转到任意文件的任意位置。
  6. 多重选择(Multi-Selection)功能允许在页面中同时存在多个光标。
  7. 支持VIM模式。
  8. 支持宏,宏是什么,简单地说就是把操作录制下来或者自己编写命令,然后播放刚才录制的操作或者命令。

VSCode

这是一款后起之秀,微软作为它的爸爸,已经它优秀的插件系统,已经成功占领的大多数的前端开发、后端开发,当然还有我的电脑。

最近两年vs code在开发工具领域表现得非常抢眼,让很多原本热衷于eclipse、IntelliJ、Atom的同学纷纷转向了vs code,并且对其赞不绝口。一直以来,我认为vs code名不副实,它只不过是一个并没有什么特色之处,依靠插件而使其丰富起来的编辑器而已。它的功能和 sublime 相处无几。

vim

作为"编辑器之神",当然是最后一个出场了。总的来说,你可以终其一生来研究 vim 。vim 不仅仅是一个编辑器,它还可以是一个操作系统,关于 vim ,我们居然可以在市面上找到 N 本很贵很贵的书籍。如果你是一个极客那么,你就勇敢的踏上 vim 这条不归路吧。

vim 的教程很多,但是我强烈建议看看 https://coolshell.cn/articles/5426.html

高级编辑器的常用功能汇总

以 VScode 为例子,高级编辑器的常用功能有:

•文件浏览框

•高级搜索

•列模式

•正则搜索

文件浏览框

在文件浏览框里面,可以方便的打开、删除项目里面的文件。右边的多表头可以方便得在多个文件中切换。

数据开发的工具箱

高级搜索

高级搜索让我们可以在某个文件夹里面,搜索包含某个字符串的文件名称,也可以根据文件内容进行搜索,也就是找出包含某个字符串的文件。

数据开发的工具箱

列模式可以让我们同时编辑多行的数据。

数据开发的工具箱

正则搜索

正则搜索可以让我更高效的搜索出一类字符串。

数据开发的工具箱

4、数据库客户端

作为数据开发,我们怎能发不和数据库打交道,这究竟是人性扭曲,还是道德的沦丧。

  • 全能选手:DBeaver
  • navigator: sqlserver mysql

DBeaver

dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。

它是经过精心设计和开发的数据库管理工具。免费、跨平台、基于开源框架和允许各种扩展写作(插件)。

请看下面的截图,由于它支持任何具有一个JDBC驱动程序数据库。它可以链接市面上绝大多数的数据库产品,甚至像 spark、hive 这种大数据平台。

数据开发的工具箱

而且从操作界面就可以看出来,它是由 eclipse 改的,所以 eclipse 支持的插件都能嫁接过来。例如,Vrapper 查看让你在 vim 的模式下爽写 SQL。

总结一下,就是 DBeaver 我有,天下我有。

5、hive 命令行

大数据开发工程师大多数情况下,会使用 hive 命令行。来执行 sql 语句。所以在这里也介绍一下 hive 命令行的用法。

我们重点说几个选项:

  • -f: 指定 sql 文件,例如 hive -f ~/execute.sql , 我们在 -f 后面指定了 sql 文件的路径。命令行会从 execute.sql 中取出 sql 语句执行。
  • --hivevar or --hiveconf:接受自定义参数和预设参数。当我们在 sql 语句里面加了参数之后,我们可以使用 --hivevar 或者 --hiveconf 来指定参数。举个例子:
  • execute.sql 文件内容为:
  • select * from db_name.table_name where col_name = ‘${col_value}’ ; – 注意这里使用 ${变量名称} 来设置变量。
  • hive 命令行的使用:hive --hivevar col_value=123 -f execute.sql 。
  • –hiveconf 除了可以设置自定义变量,它还可以设置 hive 的参数变量,例如,hive.exec.dynamic.partition.mode 。
  • -e: 它是指定 sql 语句。这个选项可以让我们在不进入 hive 命令行的情况下执行 sql 语句。例如:
  • hive -e "select * from table_name limit 10 ;"
  • --showHeader: 当我们不希望 hive 给我们返回标题信息的时候,我们可以使用这个选项,例如:
  • shell_var=hive --showHeader -e "select * from table_name limit 10 " , hive 只会将数据返回给变量 shell_var.

End.

爱数据网专栏作者:wang-possible

作者介绍:6年零售大数据工作经验,技能持续精进

本文为中国统计网原创文章,未经允许禁止转载,需要转载请微信联系授权(微信号:lovedata0420)

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: