我在Spark SQL中有两个DataFrame(D1和D2).
我试图内部加入它们D1.join(D2, "some column")
并获取仅D1的数据,而不是完整的数据集.
D1和D2都具有相同的列.
有人可以帮我这个吗?
我正在使用Spark 1.6.
我正在使用Spark SQL读取Hive表并将其分配给scala val
val x = sqlContext.sql("select * from some_table")
Run Code Online (Sandbox Code Playgroud)
然后我正在使用数据帧x进行一些处理,最后得到一个数据帧y,它具有与表some_table一样的精确模式.
最后,我试图将y数据帧覆盖到同一个hive表some_table
y.write.mode(SaveMode.Overwrite).saveAsTable().insertInto("some_table")
Run Code Online (Sandbox Code Playgroud)
然后我收到错误
org.apache.spark.sql.AnalysisException:无法将覆盖插入到也从中读取的表中
我尝试创建一个insert sql语句并使用sqlContext.sql()触发它,但它也给了我同样的错误.
有什么办法可以绕过这个错误吗?我需要将记录插回到同一个表中.
嗨,我尝试按照建议做,但仍然得到相同的错误.
val x = sqlContext.sql("select * from incremental.test2")
val y = x.limit(5)
y.registerTempTable("temp_table")
val dy = sqlContext.table("temp_table")
dy.write.mode("overwrite").insertInto("incremental.test2")
scala> dy.write.mode("overwrite").insertInto("incremental.test2")
org.apache.spark.sql.AnalysisException: Cannot insert overwrite into table that is also being read from.;
Run Code Online (Sandbox Code Playgroud) 当我接受参数时,如何在没有复合条件的情况下检查两个是否同时出现
即
#!/usr/bin/python
import random, string
import mymodule
import sys
z = ' '.join(sys.argv[2:])
q = ''.join(sys.argv[3:])
a = ''.join(sys.argv[2:])
s = ' '.join(sys.argv[1:])
flags = sys.argv[1:5]
commands = [["-r", "reverse string passed next with no quotes needed."], ["-j", "joins arguments passed into string. no quotes needed."], ["--palindrome", "tests whether arguments passed are palindrome or not. collective."],["--rand","passes random string of 10 digits/letters"]]
try:
if "-r" in flags:
if "-j" in flags:
print mymodule.reverse(q)
if not "-j" in flags:
print mymodule.reverse(z) …Run Code Online (Sandbox Code Playgroud) 我正在使用Apache NiFi将一些本地文件复制到HDFS.我创建了一个GetFile绑定到PutHDFS处理器的处理器.该GetFile处理器递归查询一个只读的目录.我遇到的问题是文件不断被复制,例如,如果我删除HDFS上复制的文件,那么它们很快就会重新出现.
在GetFile处理器配置中,我设置Keep Source File为true,因为该目录是只读的,并且在只读目录中的文档中指定,如果此参数设置为false,则文件将被忽略:
如果为true,则在将文件复制到Content Repository后不会删除该文件; 这会导致文件不断被拾取并且对于测试目的很有用.如果不保持原始NiFi将需要对其正在拉动的目录的写权限,否则它将忽略该文件.
是否可以简单地复制每个文件一次?
如果我尝试并行多次使用 Kerberos 密钥表进行身份验证,我会随机收到错误消息,指出凭据缓存已损坏。
我可以用以下脚本重现这个问题。但是,在我的实际用例中,有多个进程同时调用kinit,我无法控制它们:
kdestroy
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK"
Run Code Online (Sandbox Code Playgroud)
每次运行时都会产生随机输出。此类输出的示例如下:
kinit: Failed to store credentials: Internal credentials cache error (filename: /tmp/krb5cc_1645005342) while getting initial credentials
kinit: Failed to store credentials: No credentials cache found (filename: /tmp/krb5cc_1645005342) while getting …Run Code Online (Sandbox Code Playgroud) 我正在使用斯坦福NER CRFC分类器从新闻文章中提取命名实体,为了实现主动学习,我想知道每个标记实体的类的置信度分数.
显示的例子:
位置(0.20)人(0.10)组织(0.60)MISC(0.10)
这是我从文本中提取命名实体的代码:
AbstractSequenceClassifier<CoreLabel> classifier = CRFClassifier.getClassifierNoExceptions(classifier_path);
String annnotatedText = classifier.classifyWithInlineXML(text);
Run Code Online (Sandbox Code Playgroud)
是否有解决方法来获取值和注释?
我正在尝试在 Hive 中执行以下查询:
SELECT
regexp_replace('2016-08-05_11:29:46', '\\_', ' ') as tmstmp,
distinct(P.name)
FROM table P;
Run Code Online (Sandbox Code Playgroud)
它抛出一个异常,说无法识别选择目标中“不同”“(”“P”附近的输入。
当我运行交换列的查询时,如下所示:
SELECT
distinct(P.name),
regexp_replace('2016-08-05_11:29:46', '\\_', ' ') as tmstmp
FROM table P;
Run Code Online (Sandbox Code Playgroud)
效果很好。对这个问题有什么想法吗?
是否可以将 StringType 列转换为 spark 数据框中的 ArrayType 列?
df.printSchema() 给这个
架构 ->
a: string(nullable= true)
现在我想将其转换为
a:数组(可为空=真)
我正在使用继承和多态.我只获得此输出而不是显示所需的点.
但仅打印点才能正常工作.印刷线会产生问题.
输出:连接null null的行
package serial;
import java.io.*;
class Point
{
private int x,y;
Point(int x,int y)
{
this.x = x;
this.y = y;
}
int getX()
{
return x;
}
int getY()
{
return y;
}
void setX(int x)
{
this.x = x;
}
void setY(int y)
{
this.y = y;
}
public String toString()
{
//String s = "Points joining line are ("+p1.getX()+","+p1.getY()+") and ("+p2.getX()+","+p2.getY()+")";
return "(" + x + "," + y + ")";
}
} …Run Code Online (Sandbox Code Playgroud) apache-spark ×3
scala ×3
java ×2
apache-nifi ×1
arguments ×1
hadoop ×1
hive ×1
inheritance ×1
kerberos ×1
polymorphism ×1
python ×1
stanford-nlp ×1
sys ×1