我真的不喜欢用Caps Lock写的人.除了厌恶之外,它还污损了整个应用程序.我想知道如何防止用户使用大写锁定编写所有字符.由于特殊名称和缩写,我无法强制所有文本为小写.我应该使用什么逻辑?
我刚刚使用pip install elasticsearch安装了正确的软件包,但我的.py脚本找不到它.
我现在有这个:
ls /Library/Python/2.7/site-packages
README pip-1.5.6-py2.7.egg urllib3-1.8.3-py2.7.egg-info virtualenv.py virtualenv_support
easy-install.pth urllib3 virtualenv-1.11.6.dist-info virtualenv.pyc
Run Code Online (Sandbox Code Playgroud)
ls /usr/local/lib/python2.7/site-packages/
easy-install.pth elasticsearch-1.0.0.dist-info setuptools-4.0.1-py2.7.egg sitecustomize.py
elasticsearch pip-1.5.6-py2.7.egg setuptools.pth sitecustomize.pyc
Run Code Online (Sandbox Code Playgroud)
现在当我运行我的脚本myelastic.py时:
import sys
print sys.path
from elasticsearch import Elasticsearch
es = Elasticsearch()
Run Code Online (Sandbox Code Playgroud)
我有这个:
['/Users/tati/Desktop/python', '/Applications/MAMP/Library/lib/python27.zip', '/Applications/MAMP/Library/lib/python2.7', '/Applications/MAMP/Library/lib/python2.7/plat-darwin', '/Applications/MAMP/Library/lib/python2.7/plat-mac', '/Applications/MAMP/Library/lib/python2.7/plat-mac/lib-scriptpackages', '/Applications/MAMP/Library/lib/python2.7/lib-tk', '/Applications/MAMP/Library/lib/python2.7/lib-old', '/Applications/MAMP/Library/lib/python2.7/lib-dynload', '/Applications/MAMP/Library/lib/python2.7/site-packages']
Traceback (most recent call last):
File "myelastic.py", line 5, in <module>
from elasticsearch import Elasticsearch
ImportError: No module named elasticsearch
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用virtualenv,但我不知道如何解决这个问题,谢谢!
我在spark中运行wordcount java程序.如何从命令行运行它.
我刚开始使用Spark 0.9在纱线独立模式下进行编程.我运行程序使用这个:
spark-class org.apache.spark.deploy.yarn.Client --jar $ SPARK_HOME/count.jar --class WordCountJava --args yarn-standalone --args hdfs://10.1.1.33:9000/user/root/test.txt --args hdfs://10.1.1.33:9000/out/ik --num-workers 3 --master-memory 4g --worker-memory 2g --worker-cores 1
如果我以root帐户登录,该程序可以运行良好.但是如果我以普通帐户 "luzy"登录,程序运行失败,并得到如下错误:
appDiagnostics:应用程序application_1395994477084_0040失败2次,因为AM容器因appattempt_1395994477084_0040_000002退出,退出时使用exitCode:-1000,原因是:java.io.IOException:资源文件:/usr/app/spark-0.9.0/count.jar已在src文件系统上更改(预计1395762200000,原为1395993910000.此次尝试失败.申请失败.
我该怎么做才能解决它?
在具有多个工作节点的Spark 1.0.0独立模式中,我正在尝试从两台不同的计算机(同一Linux用户)运行Spark shell.
在文档中,它说"默认情况下,提交给独立模式群集的应用程序将以FIFO(先进先出)顺序运行,每个应用程序将尝试使用所有可用节点."
每个工作程序的核心数设置为4,其中8个可用(通过SPARK_JAVA_OPTS =" - Dspark.cores.max = 4").内存也是有限的,因此两者都应该可用.
但是,在查看Spark Master WebUI时,稍后启动的shell应用程序将始终保持"WAITING"状态,直到退出第一个.分配给它的核心数是0,每个节点10G的内存(与已经运行的核心相同)
有没有办法让两个shell同时运行而不使用Mesos?
我正在将CSV文件(使用spark-csv)导入到DataFrame具有空String值的文件中.应用时OneHotEncoder,应用程序崩溃并出错requirement failed: Cannot have an empty string for name..有没有办法解决这个问题?
val df = sqlContext.createDataFrame(Seq(
(0, "a"),
(1, "b"),
(2, "c"),
(3, ""), //<- original example has "a" here
(4, "a"),
(5, "c")
)).toDF("id", "category")
val indexer = new StringIndexer()
.setInputCol("category")
.setOutputCol("categoryIndex")
.fit(df)
val indexed = indexer.transform(df)
val encoder = new OneHotEncoder()
.setInputCol("categoryIndex")
.setOutputCol("categoryVec")
val encoded = encoder.transform(indexed)
encoded.show()
Run Code Online (Sandbox Code Playgroud)
这很烦人,因为缺失/空值是一种非常普遍的情况.
提前谢谢,Nikhil
scala apache-spark spark-csv apache-spark-ml apache-spark-mllib
我有一个来自RecordService API的Scala Implicit类,我想在Java文件中使用它.
package object spark {
implicit class RecordServiceContext(ctx: SparkContext) {
def recordServiceTextFile(path: String) : RDD[String] = {
new RecordServiceRDD(ctx).setPath(path)
.map(v => v(0).asInstanceOf[Text].toString)
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试使用下面的导入在Java文件中导入它.
import com.cloudera.recordservice.spark.*;
Run Code Online (Sandbox Code Playgroud)
但是我无法使用来自sparkContext的recordServiceTextFile("path").
在Scala中,导入稍有不同,而且工作正常.
我无法理解withScope方法的功能(实际上,我真的不知道RDDOperationScope类的含义)
特别是,withScope方法的参数列表中(body:=> T)的含义是什么:
private[spark] def withScope[T](
sc: SparkContext,
name: String,
allowNesting: Boolean,
ignoreParent: Boolean)(body: => T): T = {
// Save the old scope to restore it later
val scopeKey = SparkContext.RDD_SCOPE_KEY
val noOverrideKey = SparkContext.RDD_SCOPE_NO_OVERRIDE_KEY
val oldScopeJson = sc.getLocalProperty(scopeKey)
val oldScope = Option(oldScopeJson).map(RDDOperationScope.fromJson)
val oldNoOverride = sc.getLocalProperty(noOverrideKey)
try {
if (ignoreParent) {
// Ignore all parent settings and scopes and start afresh with our own root scope
sc.setLocalProperty(scopeKey, new RDDOperationScope(name).toJson)
} else if (sc.getLocalProperty(noOverrideKey) == null) {
// Otherwise, …Run Code Online (Sandbox Code Playgroud) 使用动态资源分配:
当执行程序空闲超过 spark.dynamicAllocation.executorIdleTimeout 秒时,Spark 应用程序会删除执行程序。
当我按如下方式设置执行程序空闲超时属性时spark.dynamicAllocation.executorIdleTimeout= 300,它会抛出以下警告:
spark.ExecutorAllocationManager: Removing executor 0 because it has been idle for 300 seconds (new desired total will be 2)
Run Code Online (Sandbox Code Playgroud)
“空闲”是什么意思?这是否意味着工人不使用 CPU?对数据库的阻塞调用算作空闲吗?
Apache Spark 数据集 API 有两种方法,即head(n:Int)和take(n:Int)。
Dataset.Scala 源包含
def take(n: Int): Array[T] = head(n)
Run Code Online (Sandbox Code Playgroud)
找不到这两个函数之间执行代码的任何差异。为什么 API 有两种不同的方法来产生相同的结果?
apache-spark ×7
scala ×3
algorithm ×1
capslock ×1
cloudera-cdh ×1
hadoop ×1
hadoop-yarn ×1
hdfs ×1
java ×1
lowercase ×1
python ×1
spark-csv ×1