dev express怎么使用

dev express怎么使用,第1张

上传表单这是整个挑战中最平常的一环,您可能已经非常熟悉了这一部分,无论如何,为了文章的完整性,我还是必须说一下。你将需要使用一个表单来进行方件上传,我使用Jade来生成者咐段HTML代码,它看起来是这样的:form(action="…", method="post", enctype="multipart/form-data") input(type="file", name="displayImage")form.action将指向一简亮个文件上传的路由,继续往下看。接收上传文件如果你使用的是最新版本的Node和Express,那么上传文件是一块小甜饼。在我们的上传路由里,请求参数是req.files,通过它来设置允许上传文件的类型。它看首誉起来像下面这样:{ displayImage: {size: 11885,path: ‘/tmp/1574bb60b4f7e0211fd9ab48f932f3ab‘,name: ‘avatar.png‘,type: ‘image/png‘,lastModifiedDate: Sun, 05 Feb 2012 05:31:09 GMT,_writeStream: { path: ‘/tmp/1574bb60b4f7e0211fd9ab48f932f3ab‘, fd: 14, writable: false, flags: ‘w‘, encoding: ‘binary‘, mode: 438, bytesWritten: 11885, busy: false, _queue: [], drainable: true},length: [Getter],filename: [Getter],mime: [Getter] }}在req.files对象下,displayImage属性是你HTML里标记的表单值,req.files将为每一个有效的HTML文件表单包含一个这样的属性。文件对象包含:类型、文件大小、名字属性,这些属性将用以在服务器端进行判断确认。保存上传的文件假设文件是有效的,下一步你将用到文件路径属性,文件一开始将保存到Tmp文件夹里,你的程序需要将文件从临时目录移到你的目标文件夹里。fs.readFile(req.files.displayImage.path, function (err, data) { // … var newPath = __dirname + "/uploads/uploadedFileName" fs.writeFile(newPath, data, function (err) {res.redirect("back") })})在fs.readFile的回调函数中,我们通过文件内容获取数据属性,例子中的应用需要修改文件属性并且将文件保存到一个新的位置,所以fs.writeFile便是用以将文件数据写到一个新的路径下。如果你的应用仅仅是要将文件保存到一个新的位置,你可以使用fs.rename来实现。————————————–使用Node加Express上传文件大概就是这样,我曾经使用过许多服务器端的语言如Python、Java、Scala和PHP来做文件上传功能,但是我都感觉没有使用Node简单,所以我不认为Javascript应该被标记为一种劣质的服务器端语言。

spark进入txt文件的命令

1、首先启动spark-shell进入Spark-shell模式:(进入spark目录下后 输入命令 bin/spark-shell启动spark-shell模式)

2、加载text文件(spark创建sc,可以加载本地文件和HDFS文件戚庆州创建RDD)

val textFile = sc.textFile("file:///home/hadoop/test1.txt") #注意file:后是三个“/”

注意:加载HDFS文件和本地文件都是使用textFile,区别是添加前缀(hdfs://和file://)进行标识。

3、获取RDD文件textFile所有项(文本文件即总共行数)的计数(还有很多其他的RDD *** 作,自行百度)

textFile.count() #统计结果显示 1 行

二、在 spark-shell 中读取 HDFS 系统文件“/home/hadoop/test.csv(也可以是txt文件)”(如果该差告文件不存在, 请先创建),然后,统计出文件的行数:

方法一:

1、加载text文件(spark创建sc,可以加载本地文件和HDFS文件创建RDD)

val textFile = sc.textFile("hdfs:///home/hadoop/test.csv") #注意hdfs:后是三个“/”

注意:加载HDFS文件和本地文件都是使用textFile,区别是添加前缀(hdfs://和file://)进行标识。

2、获取RDD文件textFile所有项的计数

textFile.count() #统计结果显示 1 行

方法二:(Spark shell 默认是读取 HDFS 中的文件,需要先上传文件到 HDFS 中,否则会有“org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/hadoop/README.md”的错误。)

1、省去方法一中第一步的命令(1)中的“hdfs://”,其他部分相同,命令如下:

三、编写独立应用程序,读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;通过 sbt 工具将整个应用程序编译打包成 JAR 包, 并将生成的 JAR 包通过 spark-submit 提交到 Spark 中运行命令:

1、首先输入:quit 命令退出spark-shell模式:

2、在终端中执行如下命令创建一个文件夹 sparkapp3 作为应用程序根目录:

cd ~ # 进入用户主文件夹

mkdir ./sparkapp3 # 创建应用程序根目录

mkdir -p ./sparkapp3/src/高蔽main/scala # 创建所需的文件夹结构

3、在 ./sparkapp3/src/main/scala 下建立一个名为 SimpleApp.scala 的文件(vim ./sparkapp3/src/main/scala/SimpleApp.scala),添加代码如下:

/* SimpleApp.scala */

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.SparkConf

object SimpleApp {

def main(args: Array[String]) {

val logFile = "hdfs://localhost:9000/home/hadoop/test.csv"

val conf = new SparkConf().setAppName("Simple Application")

val sc = new SparkContext(conf)

val logData = sc.textFile(logFile, 2)

val num = logData.count()

println("这个文件有 %d 行!".format(num))

}

}

4、该程序依赖 Spark API,因此我们需要通过 sbt 进行编译打包。 ./sparkapp3 中新建文件 simple.sbt(vim ./sparkapp3/simple.sbt),添加内容如下,声明该独立应用程序的信息以及与 Spark 的依赖关系:

name := "Simple Project"

version := "1.0"

scalaVersion := "2.12.10"

libraryDependencies += "org.apache.spark" %% "spark-core" % "3.0.0-preview2"

1.准备工作

首先需要在你电脑上安装jdk和scala以及开发工具Intellij IDEA,本文中使用的是win7系统,环境配置如下:

jdk1.7.0_15

scala2.10.4

scala官网下载地址:http://www.scala-lang.org/download/

如果是windows请下载msi安装包。

这两个运胡友可以在官网上下载jdk和scala的安装包就可以直接双击安装包运行安装即可。注意:如果以后是在本地编写好spark代码然后上传到spark集群上去运行的话,请一定保持两者的开发环境一致,不然会出现很多错误。

Intellij IDEA

在官网上下旁槐载一般选择右下角的Community版本,下载地址https://www.jetbrains.com/idea/download/#section=windows

2.在Intellij IDEA中安装scala插件

安装好Intellij IDEA并进入idea的主界面

(1)找到右下角的Configure选项中Plugins并打开

(2)点击左下角Browse repositories…

(3)在搜索框里搜scala,出现相对于的Scala插件,这里面我的已经安装完成了,没安装的会显示install的字样以及相对于的版本,这里面不建议在线安装插件,建议根据Updated 2014/12/18去下载离线的scala插件,比如本文中的IDEA Updated日期是2014/12/18然后找到对应的插件版本是1.2.1,下载即可。下面是scala插件的离线下载地址。

scala插件离线下载地址:https://plugins.jetbrains.com/plugin/1347-scala

然后根据Update日期去找Intellij IDEA对应得scala插件,不同版本的IDEA对应的scala插件不一样,请务必下载对应的scala插件否则无法识别。

(4)离线插件下载完成后,将离线scala插件通过如下方式加入到IDEA中去:点击Install plugin from disk…,然后找到你scala插件的zip文件的本机磁盘位置,点ok即可

到这里,在Intellij IDEA中安装scala插件的步骤已经全部完成。接下来用IDEA来构建一个Maven工程,用来搭建spark开发环境。

3.Intellij IDEA通过Maven搭建spark环境

(1)打开IDEA新建一个maven项目,如下图:

注意:按照我步骤顺序即可。

注意:如果是第一次利用maven构建scala开发spark环境的话,这里面的会有一个选择scala SDK和Module SDK的步骤,这里路径选择你安装scala时候的路径和jdk的路径就可以了。

(2)填写GroupId和ArtifactId这里我就随便写了个名字,如下图,点Next。

(3)第三步很重要,首先是你的Intellij IDEA里有Maven,一般做信的新版本都会自带maven,而且maven的目录在IDEA安装路径下plugins下就能找到,然后再Maven home directory地址中填写maven相对应的路径,本文中的IDEA版本比较老,是自己下的Maven安装上的(不会的可以百度下,很简单,建议使用新的IDEA,不需要自己下载maven)。然后这里面的User settings file是你maven路径下conf里面的settings.xml文件,勾选上override即可,这里面的Local repository路径可以不用修改,默认就好,你也可以新建一个目录。点击Next。

注意:截图的时候忘了,把Local repository前面的override也勾选上,不然构建完会报错,至少我的是这样。

(4)填写自己的项目名,随意即可。点击finish。

(5)到这里整个流程已经结束,完成后会显示如下界面:

右上角的import需要点击一下即可。

(6)接下来在pom.xml文件中加入spark环境所需要的一些依赖包。以代码的方式给出,方便复制。

这里是我的pom文件代码,请各位自行按照自己的需要删减或添加依赖包。

//注意这里面的版本一定要对应好,我这里的spark版本是1.6.0对应的scala是2.10,因为我是通过spark-core_${scala.version}是找spark依赖包的,前些日子有个同事按照这个去搭建,由于版本的不一样最后spark依赖包加载总是失败。请大家自行检查自己的版本


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8215500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存