我正在尝试将我的主干中的单个文件合并到分支(wc),并且为一个看起来位于当前合并操作中不涉及的分支上的路径获取奇怪路径未找到错误.
例如,在我们的svn项目中,我们有:
我检查了branch4,这是我的工作副本.在修复了主干上的生产错误后,我想将我的更改从主干合并到branch4.我尝试使用以下命令执行此操作:
svn merge https://svn.svnprovider.com/my-account/my-project/trunk/path/to/file/my-file.java path/to/file/my-file.java
Run Code Online (Sandbox Code Playgroud)
我已经用其他文件做了这个没有问题,但是,对于这个文件,我得到类似于的错误:(真实文件和路径中的专有信息,因此示例)
svn:'/ my-account /!svn/bc/1732/my-project/branches/branch1 /path/to/file/my-file.java'路径未找到
在历史的某一点,branch1是我们的工作分支,它被重新整合到主干上.据我所知,所有分支都是从主干创建的,而不是从其他分支创建的.所以我首先想知道发生了什么,其次,我该如何解决这个问题.
我已经阅读了几篇关于svn:mergeinfo的文章以及它如何导致类似问题,并且当用户使用tortise时这尤其成问题.我们有一些折磨用户进来和继续该项目,所以这可能是问题的根本原因 - 仍然需要修复.
有没有人遇到类似的问题,并确定了根本原因和修复.非常欣赏.
我一直在寻找一种在将数据读取到Spark DataFrame中时将原始(JSON)数据添加为列的方法。我有一种使用联接执行此操作的方法,但希望有一种方法可以使用Spark 2.2.x +在单个操作中执行此操作。
因此,例如数据:
{"team":"Golden Knights","colors":"gold,red,black","origin":"Las Vegas"}
{"team":"Sharks","origin": "San Jose", "eliminated":"true"}
{"team":"Wild","colors":"red,green,gold","origin":"Minnesota"}
Run Code Online (Sandbox Code Playgroud)
执行时:
val logs = sc.textFile("/Users/vgk/data/tiny.json") // example data file
spark.read.json(logs).show
Run Code Online (Sandbox Code Playgroud)
可以预期的是:
{"team":"Golden Knights","colors":"gold,red,black","origin":"Las Vegas"}
{"team":"Sharks","origin": "San Jose", "eliminated":"true"}
{"team":"Wild","colors":"red,green,gold","origin":"Minnesota"}
Run Code Online (Sandbox Code Playgroud)
我希望在初始加载时具有以上内容,但是将原始JSON数据作为附加列。例如(截断的原始值):
val logs = sc.textFile("/Users/vgk/data/tiny.json") // example data file
spark.read.json(logs).show
Run Code Online (Sandbox Code Playgroud)
非理想的解决方案涉及联接:
val logs = sc.textFile("/Users/vgk/data/tiny.json")
val df = spark.read.json(logs).withColumn("uniqueID",monotonically_increasing_id)
val rawdf = df.toJSON.withColumn("uniqueID",monotonically_increasing_id)
df.join(rawdf, "uniqueID")
Run Code Online (Sandbox Code Playgroud)
结果得到与上述相同的数据帧,但带有和添加的uniqueID列。此外,json是从DF呈现的,不一定是“原始”数据。实际上,它们是相等的,但是对于我的用例,实际的原始数据是可取的。
有谁知道一种解决方案,它将在加载时捕获原始JSON数据作为附加列?
我试图在Zeppelin中运行pyspark,在Spark 2.1.0中运行python3(3.5).我已经使用python3运行了pyspark shell,但是转到连接到同一本地群集的Zeppelin会给出:
Exception: Python in worker has different version 3.5 than that in driver 2.7, PySpark cannot run with different minor versions
Run Code Online (Sandbox Code Playgroud)
我修改了默认的spark-env.sh,如下所示:(为简洁省略了未修改的行)
SPARK_LOCAL_IP=127.0.0.1
SPARK_MASTER_HOST="localhost"
SPARK_MASTER_WEBUI_PORT=8080
SPARK_MASTER_PORT=7077
SPARK_DAEMON_JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
export PYSPARK_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
export PYSPARK_DRIVER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/ipython
Run Code Online (Sandbox Code Playgroud)
盯着东西./bin/pyspark,一切都很好.
Zeppelin配置已在zeppelin-site.xml中进行了修改,仅将ui端口从8080移至8666."zeppelin-env.sh"已修改如下:(仅显示mods/additions)
export MASTER=spark://127.0.0.1:7077
export SPARK_APP_NAME=my_zeppelin-mf
export PYSPARK_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
export PYSPARK_DRIVER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/ipython
export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
Run Code Online (Sandbox Code Playgroud)
我尝试过使用Anaconda但是python 3.6目前正在创建Spark的问题.另外,我已经使用了上述配置设置的一堆组合而没有成功.
配置zeppelin.pyspark.python中引用了一个默认设置python但是从文档中不清楚如何/在哪里调整到python3的设置.为了帮助消除OSX细节,我也能够在LinuxMint 18.1上复制这个失败.
所以我一直在搜索Zeppelin文档和互联网,试图找到正确的配置设置让Zeppelin作为3.5驱动程序运行.带着希望,我错过了一些明显的东西,但我似乎无法追踪这一点.希望有人成功完成此任务并帮助识别我的错误.
谢谢.
我一直在尝试确定如何编写一个类型参数,将函数限制为支持关系运算符的类型?
例如:
def biggerOf[A <: ???](a: A, b: A): A = { if (a > b) a else b }
Run Code Online (Sandbox Code Playgroud)
???我的困境在哪里。高级类型参数位对我来说是新的,所以寻求一点帮助。认为 AnyVal 可能是赢家,但对于 Unit 类型(和 Boolean 不会中断,但也不会起作用)。感谢您的任何想法。
apache-spark ×2
generics ×1
json ×1
pyspark ×1
python-3.5 ×1
python-3.x ×1
scala ×1
svn ×1
types ×1