问题一:解析spark-submit命令行参数的时候用到了第三方包scopt,该包需要引入
<dependency> <groupId>com.github.scopt</groupId> <artifactId>scopt_2.10</artifactId> <version>3.2.0</version> </dependency>
,引入之后直接使用idea打包(build-build artifacts-rebuild)报错:找不到类scopt.OptionParser
然后意识到是依赖没有打入包
重新配置file-project structure将所有包加入,重新打包,依然报同样错误
然后试图使用maven打包
首先配置
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.daojia.xing.SuYunSDK</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin>
点击最左下脚图标 弹出上拉框 单机maven project 左侧出现对话框 然后plugins 选择assembly:assembly
问题解决。
ps:
问题二:程序中用到hive.hiveContext类,需要引入,之前引入了错误的包,导致程序提示有错误
正确的引入如下:
<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.10</artifactId> <version>1.6.1</version> </dependency>
问题三:又是一个奇葩的问题,见识浅薄了,(String,String)不知道scala中这是个什么鬼,不是array,不是list,不是map,最后的最后发现scala有一个类型叫做元祖,在此纠结了好久,要加强学习
scala> val types=hiveContext.sql("select * from a_fin_account_day limit 10").dtypes types: Array[(String, String)] = Array((work_date,StringType), (user_id,LongType), (account_id,LongType), (source,StringType), (sy_vip_flag,StringType), (sy_vip_account_type,StringType), (dk_bussiness,DoubleType), (balance,DoubleType), (recharge,DoubleType), (recharge_num,DoubleType), (consume,DoubleType), (consume_num,DoubleType), (order_balance_pay,DoubleType), (order_refund,DoubleType), (account_refund,DoubleType), (adjust,DoubleType), (is_new_charge,DoubleType), (dk_jz_consume,DoubleType), (dk_lr_consume,DoubleType), (bi_update_time,StringType)) scala> val line=types(0) line: (String, String) = (work_date,StringType) scala> line(0) <console>:41: error: (String, String) does not take parameters line(0) ^ scala> line._1 res28: String = work_date
相关推荐
本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考。 具体代码如下: from optparse import OptionParser parser = OptionParser(usage="usage:%prog [optinos] filepath") parser....
主要介绍了Python命令行参数解析模块optparse使用实例,本文讲解了增加选项(add_option())、行为(action)、设置默认值(default)、生成帮助提示(help)、设置boolean值、错误处理、选项组(Grouping Options)等内容,需要...
matlab开发-Optionparser。工具箱函数的广义选项解析器
概述S GLI,类似Git的界面命令行解析器¶↑GLI允许您在Ruby中创建行为类似于git的命令行应用程序,因为它需要子命令来执行一系列复杂的操作,例如git remote add。 概述Github RDoc上的资源GLI解决了什么问题?¶↑...
Python 端口扫描器 ...parser = optparse.OptionParser(“usage%prog” +” -H -P”) parser.add_option(“-H”,dest=“tgtHost”,type=“string”,help=“specify target port”) parser.add_optio
opts = OptionParser.new do |opts| opts.on('-f', '--foo'){ ... } end opts.parse! args 我真的很喜欢 optparse 但是: 我不关心分隔符/横幅/等,我使用其他宝石/库来处理这些东西 optparse 是一个要扩展的 ...
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值。分享给大家供大家参考之用。具体分析如下: 一般来说,Python中有两个内建的模块用于处理命令行参数: 一...
OptionParser - JavaScript 版本OptionParser是一个帮助您解析命令行选项的库,类似于getopt工作方式。 努力使其符合 POSIX 标准并易于人们使用。 集成了许多其他实现的功能,以提供显着的灵活性并使其更易于使用。 ...
GLI,类似于Git的界面命令行解析器 GLI允许您在Ruby中创建行为类似于git命令行应用程序,因为它需要子命令来执行一系列复杂的操作,例如git remote add 。GLI解决了什么问题? 使用Ruby的内置OptionParser很难创建...
lxml-基于C库libxml2和libxslt的快速XML解析器OptionParser-用于解析命令行选项的灵活库psycopg2-用于postgresql的数据库连接器。 警告:还需要在路径中安装和配置Visual Studio 此外,需要两个XML文件。 一个是要...
Optparse-js是Javascript的命令行选项解析器。 它稍微基于Ruby的optparse实现,但有一些差异(不同的语言具有不同的需求),例如自定义解析器。 本自述文件中的所有示例都使用 但是,该库可与各种Javascript实现...
使用OptionParser解析选项 用选项自动填充结构(不再使用{ |v| options[:recursive] = v } ) 通过可插入的帮助格式化程序自动生成帮助文档 不存在时的可选默认命令 全局/命令级别选项 与两个帮助格式化程序...
Java Simple Option 解析器的灵感来自 ruby OptParser 类 ( )。 这项工作是作为西波西米亚大学 ( ) 学期工作的一部分创建的。 安装 将 java 源文件添加到您的项目中,并将它们导入到您要使用它们的文件中。 用法...
#OptParser 受 Rubys OptionParser 类启发的用于 C++ 的 CLI-Optionsparser用法首先包括OptParser.h 以下示例代码应清楚说明: OptParser *options = new OptParser();options-> setHelpText ( " this is an example...
from optparse import OptionParser from StringsFileUtil import StringsFileUtil import pyExcelerator import time # Add command option def addParser(): parser = OptionParser() parser.add_option("-f...
使用命令行时,如果要添加选项的话,python 2.3里新增加了一个模块叫optparse,也是专门来处理命令行选项的。 复制代码 代码如下: from optparse import OptionParser parser = OptionParser() parser.add_option...
用于创建命令行界面的轻量级DSL,不会失去OptionParser的功能。 一种简化的运行外部命令的方法,具有更好的错误处理和诊断功能。 简化的零配置日志记录是一个好于puts puts 。 支持使用Test :: Unit对CLI进行集成...
使用此模块前,首先需要导入模块中的类OptionParser,然后创建它的一个实例(对象): 复制代码 代码如下: from optparse import OptionParser parser = OptionParser() #这里也可以定义类的参数,后续有 接着就...
op=OptionParser(usage=usage) op.add_option('-d','--datasetfile',dest='dataset_file',help='input a dataset file') op.add_option('-x','--xlsfile',dest='xls_file',help='output a excel file with one ...