小编use*_*961的帖子

Spark DataFrames:registerTempTable vs

我昨天刚开始使用DataFrame,到目前为止我真的很喜欢它.

我不明白一件事......(请参阅"以编程方式指定架构"下的示例:https://spark.apache.org/docs/latest/sql-programming-guide.html#programmatically-specifying-the -schema)

在这个例子中,数据帧被注册为一个表(我猜测是为了提供对SQL查询的访问......?)但是正在访问的完全相同的信息也可以由peopleDataFrame.select("name")来完成.

所以问题是..你想什么时候将数据帧注册为表而不是仅仅使用给定的数据帧函数?并且一种选择比另一种更有效吗?

dataframe apache-spark

31
推荐指数
2
解决办法
3万
查看次数

Cassandra - 查询聚类键

我刚刚开始使用Cassandra,我正在尝试创建具有不同分区和群集密钥的表,以查看它们如何以不同方式查询.

我用表格的主键创建了一个表 - (a),b,c,其中a是分区键,b,c是聚类键.

查询时我注意到以下查询:

select * from tablename where b=val;
Run Code Online (Sandbox Code Playgroud)

结果是:

无法执行此查询,因为它可能涉及数据过滤,因此可能具有不可预测的性能.如果要在性能不可预测的情况下执行此查询,请使用ALLOW FILTERING

使用"ALLOW FILTERING"可以得到我想要的东西(尽管我听说它对性能有害).

但是当我运行以下查询时:

select * from tablename where c=val;
Run Code Online (Sandbox Code Playgroud)

它说:

PRIMARY KEY列"c"不能被限制(前一列"b"不受限制或非EQ关系)

并且根本没有"允许过滤"选项.

我的问题是 - 为什么所有的聚类键都不一样?与分区键"a"相邻的列b被赋予"允许过滤"选项,允许查询它,而查询列"c"似乎根本不可能(给定该表的布局方式).

允许过滤获取cassandra扫描所有SSTable并在分区键丢失时从中获取数据,那么为什么我们不能执行相同的列c?

cql primary-key cassandra clustering-key

12
推荐指数
1
解决办法
5115
查看次数

没有足够的副本可用于一致性 LOCAL_ONE 查询(需要 1 个副本,但只有 0 个活动副本)

我的 cassandra 集群中有 6 个节点,所有节点都已启动。我的键空间设置为:

replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}  AND durable_writes = true
Run Code Online (Sandbox Code Playgroud)

从这个 cas 集群中读取数据会出现错误:

java.io.IOException: Exception during execution of SELECT "colA", "colB", "colC", "colD" FROM "keyspacename"."tablename" WHERE token("colA") > ? AND token("colA") <= ?  LIMIT 1 ALLOW FILTERING: Not enough replica available for query at consistency LOCAL_ONE (1 required but only 0 alive)
Run Code Online (Sandbox Code Playgroud)

我所有的节点的复制因子都是 1..那么是什么导致了这个问题呢?

我也可以 cqlsh 并在此表中执行“选择”和“插入”操作。

有人知道发生了什么事吗?

cassandra

6
推荐指数
1
解决办法
7644
查看次数

运行 sbt 失败 - java.io.IOException:设备上没有剩余空间

真的坚持这个...我所做的就是运行“sbt”进入交互模式,这样我就可以编译我的scala程序,然后我遇到了这个:

java.io.IOException: No space left on device
        at java.io.FileOutputStream.close0(Native Method)
        at java.io.FileOutputStream.close(FileOutputStream.java:362)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
        at scala.tools.nsc.backend.jvm.BytecodeWriters$ClassBytecodeWriter$class.writeClass(BytecodeWriters.scala:93)
        at scala.tools.nsc.backend.jvm.GenASM$AsmPhase$$anon$4.writeClass(GenASM.scala:67)
        at scala.tools.nsc.backend.jvm.GenASM$JBuilder.writeIfNotTooBig(GenASM.scala:459)
        at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genClass(GenASM.scala:1413)
        at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:120)
        at sbt.compiler.Eval$$anonfun$compile$1$1.apply$mcV$sp(Eval.scala:177)
        at sbt.compiler.Eval$$anonfun$compile$1$1.apply(Eval.scala:177)
        at sbt.compiler.Eval$$anonfun$compile$1$1.apply(Eval.scala:177)
        at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
        at sbt.compiler.Eval.compile$1(Eval.scala:177)
        at sbt.compiler.Eval.compileAndLoad(Eval.scala:182)
        at sbt.compiler.Eval.evalCommon(Eval.scala:152)
        at sbt.compiler.Eval.eval(Eval.scala:96)
        at sbt.EvaluateConfigurations$.evaluateDslEntry(EvaluateConfigurations.scala:177)
        at sbt.EvaluateConfigurations$$anonfun$9.apply(EvaluateConfigurations.scala:117)
        at sbt.EvaluateConfigurations$$anonfun$9.apply(EvaluateConfigurations.scala:115)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.immutable.List.foreach(List.scala:318)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
        at scala.collection.AbstractTraversable.map(Traversable.scala:105)
        at sbt.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:115)
        at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:710)
        at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:715)
        at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:714)
        at scala.Option.getOrElse(Option.scala:120)
        at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:714)
        ...
Run Code Online (Sandbox Code Playgroud)

其次是:

[error] java.io.IOException: No space left on device
[error] …
Run Code Online (Sandbox Code Playgroud)

java scala ioexception sbt

5
推荐指数
1
解决办法
4052
查看次数

Cassandra在哪个节点上存储数据?

是否有命令或任何方式知道什么数据存储在Cassandra的哪些节点上?

我对Cassandra很新,并且没有太多运气在谷歌搜索这个问题.

谢谢!

cassandra distributed-database

4
推荐指数
1
解决办法
1561
查看次数

错误会话:将池创建到/127.0.0.1:9042时出错

当我遇到这个错误时,我试图在cassandra中插入值:

15/08/14 10:21:54 INFO Cluster: New Cassandra host /a.b.c.d:9042 added
15/08/14 10:21:54 INFO Cluster: New Cassandra host /127.0.0.1:9042 added
INFO CassandraConnector: Connected to Cassandra cluster: Test Cluster
15/08/14 10:21:54 ERROR Session: Error creating pool to /127.0.0.1:9042
com.datastax.driver.core.TransportException: [/127.0.0.1:9042] Cannot connect
        at com.datastax.driver.core.Connection.<init>(Connection.java:109)
        at com.datastax.driver.core.PooledConnection.<init>(PooledConnection.java:32)
        at com.datastax.driver.core.Connection$Factory.open(Connection.java:586)
        at com.datastax.driver.core.SingleConnectionPool.<init>(SingleConnectionPool.java:76)
        at com.datastax.driver.core.HostConnectionPool.newInstance(HostConnectionPool.java:35)
        at com.datastax.driver.core.SessionManager.replacePool(SessionManager.java:271)
        at com.datastax.driver.core.SessionManager.access$400(SessionManager.java:40)
        at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:308)
        at com.datastax.driver.core.SessionManager$3.call(SessionManager.java:300)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.ConnectException: Connection refused: /127.0.0.1:9042
Run Code Online (Sandbox Code Playgroud)

我的复制因子是1.在Cass集群中有5个节点(它们都已启动).rpc_address:0.0.0.0,broadcast_rpc_address:127.0.0.1

我认为我应该从上面看到5个节点中的5个"INFO Cluster:New Cassandra host ..". …

configuration cassandra

2
推荐指数
1
解决办法
4344
查看次数

运行“runsbt”来编译 Spark 应用程序会导致 java.io.FileNotFoundException

我正在尝试运行“runsbt”,以便可以编译/打包我的 Spark 应用程序,但它会导致以下错误:

$ /home/blah/blah/scripts/runsbt
/home/blah/blah/scripts
java.io.FileNotFoundException: /home17/blah/target/config-classes/$6d7552488da5a7237b89.cache (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我检查了提到的位置,没有像错误状态那样存在 $6d7552488da5a7237b89.cache,但如何解决此错误?

我没有删除该文件,甚至不知道这个位置。

我对 scala/spark 还很陌生......

任何帮助将非常感激!

scala sbt apache-spark

1
推荐指数
1
解决办法
666
查看次数