小编Fok*_*ong的帖子

获取Spark数据帧列中最大值的最佳方法

我正在试图找出在Spark数据帧列中获得最大值的最佳方法.

请考虑以下示例:

df = spark.createDataFrame([(1., 4.), (2., 5.), (3., 6.)], ["A", "B"])
df.show()
Run Code Online (Sandbox Code Playgroud)

这创造了:

+---+---+
|  A|  B|
+---+---+
|1.0|4.0|
|2.0|5.0|
|3.0|6.0|
+---+---+
Run Code Online (Sandbox Code Playgroud)

我的目标是找到A列中的最大值(通过检查,这是3.0).使用PySpark,我可以想到以下四种方法:

# Method 1: Use describe()
float(df.describe("A").filter("summary = 'max'").select("A").first().asDict()['A'])

# Method 2: Use SQL
df.registerTempTable("df_table")
spark.sql("SELECT MAX(A) as maxval FROM df_table").first().asDict()['maxval']

# Method 3: Use groupby()
df.groupby().max('A').first().asDict()['max(A)']

# Method 4: Convert to RDD
df.select("A").rdd.max()[0]
Run Code Online (Sandbox Code Playgroud)

上面的每一个都给出了正确的答案,但在没有Spark分析工具的情况下,我无法分辨哪个是最好的.

任何关于上述哪种方法在Spark运行时或资源使用方面最有效的直觉或经验主义的想法,或者是否有比上述方法更直接的方法?

python apache-spark apache-spark-sql pyspark

51
推荐指数
8
解决办法
9万
查看次数

如何安装气流?

我好像在做某事.错误.

https://pythonhosted.org/airflow/start.html

$ export AIRFLOW_HOME=~/airflow
$ pip install apache-airflow
Requirement already satisfied
$ airflow initdb
airflow: Command not found 
Run Code Online (Sandbox Code Playgroud)

python --version
Python 2.7.10

这很奇怪 - 安装似乎工作正常(有一些警告 - 没什么严重的)说:成功安装了气流,烧瓶等.但即使在重新启动PC(Ubuntu 15.10)后,气流似乎也不是一个命令.

ubuntu pip airflow

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

如何使用jQuery从anchor标签获取值?

<a href="" id="a1">myval</a>
Run Code Online (Sandbox Code Playgroud)

如何获取锚标记之间的值即; 在这里"myval",然后将该值指定给一个隐藏的盒子.我尝试用我的代码片段但是无法解决它.请帮助

<script type="text/javascript">
    $(document).ready(function(){
        $("#a1").click(function(e){
            //var str=$("#a1").getVal();        
            alert('hello');
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

jquery

12
推荐指数
2
解决办法
6万
查看次数

scala.ScalaReflectionException:<none>不是一个术语

我在Spark中有以下代码:

rdd
  .map(processFunction(_))
  .saveToCassandra("keyspace", "tableName")
Run Code Online (Sandbox Code Playgroud)

哪里

def processFunction(src: String): Seq[Any] =
  src match {
   case "a" => List(A("a", 123112, "b"), A("b", 142342, "c"))
   case "b" => List(B("d", 12312, "e", "f"), B("g", 12312, "h", "i"))
  }
Run Code Online (Sandbox Code Playgroud)

哪里:

case class A(entity: String, time: Long, value: String)
case class B(entity: String, time: Long, value1: String, value2: String)
Run Code Online (Sandbox Code Playgroud)

saveToCassandra期望一组对象并使用Seq[Any]作为返回类型来包含两者Seq[A]和具有异常的Seq[B]中断saveToCassandra- scala.ScalaReflectionException: <none>不是一个术语.这种行为可能是什么原因?

scala apache-spark spark-cassandra-connector

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

重的mysql使用CPU或内存

我有一个亚马逊s3实例,我们在服务器上的项目执行了很多INSERT和UPDATE以及一些复杂的SELECT

我们发现MySQL经常占用很多CPU.

我试图确定更高的内存或更高的CPU是否更好的上述设置.

以下是输出 cat /proc/meminfo

MemTotal:      7347752 kB
MemFree:         94408 kB
Buffers:         71932 kB
Cached:        2202544 kB
SwapCached:          0 kB
Active:        6483248 kB
Inactive:       415888 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:          168264 kB
Writeback:           0 kB
AnonPages:     4617848 kB
Mapped:          21212 kB
Slab:           129444 kB
SReclaimable:    86076 kB
SUnreclaim:      43368 kB
PageTables:      54104 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   3673876 kB
Committed_AS:  5384852 kB
VmallocTotal: 34359738367 kB
VmallocUsed:       180 kB
VmallocChunk: 34359738187 kB
Run Code Online (Sandbox Code Playgroud)

当前设置:

高CPU超大型实例 …

mysql performance amazon-s3

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

比较时间戳到日期

我需要将时间戳与日期进行比较.我想比较没有时间位的日期部分.我需要检查前天是否发生时间戳,即今天 - 2.

你能告诉我一个片段吗?谢谢.

我一直在阅读PHP文档,但找不到一个非常干净的方法来做到这一点.我发现的是将时间戳转换为具有特定格式的日期,并将其与我通过执行时间增量以获得昨天之前的日期并将其转换为特定格式所获得的日期进行比较.乱.

php mysql timestamp

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

spark数据框保留最新记录

我有一个类似于的数据框:

id  | date       | value
--- | ---------- | ------
1   | 2016-01-07 | 13.90
1   | 2016-01-16 | 14.50
2   | 2016-01-09 | 10.50
2   | 2016-01-28 | 5.50
3   | 2016-01-05 | 1.50
Run Code Online (Sandbox Code Playgroud)

我试图保持每个id的最新值,如下所示:

id  | date       | value
--- | ---------- | ------
1   | 2016-01-16 | 14.50
2   | 2016-01-28 | 5.50
3   | 2016-01-05 | 1.50
Run Code Online (Sandbox Code Playgroud)

我尝试按日期desc排序并删除重复项后:

new_df = df.orderBy(df.date.desc()).dropDuplicates(['id'])   
Run Code Online (Sandbox Code Playgroud)

我的问题是,dropDuplicates()将保留它找到的第一个重复值吗?有没有更好的方法来完成我想做的事情?顺便说一句,我正在使用python。

谢谢。

python apache-spark

3
推荐指数
3
解决办法
1557
查看次数

分裂一个字符串

我有以下脚本:

http://jsfiddle.net/oshirowanen/gcYeB/

如何将警报框中显示的字符串拆分为2?

所以我接着一个警告框1.

第一个警报显示

ABC

和第二个表现

123

javascript jquery split

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

Openstack的Docker驱动程序

我正在进行OpenStack安装,但我无法使用Docker.没有Docker它似乎工作,但是当我尝试启动一个实例时,我得到一个例外,没有主机可用.我发现在我的计算节点上找不到Docker驱动程序:

2014-04-21 10:51:26.114 1629 ERROR nova.virt.driver [-] Unable to load the virtualization driver
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver Traceback (most recent call last):
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver   File "/usr/lib/python2.7/dist-packages/nova/virt/driver.py", line 1299, in load_compute_driver
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver     virtapi)
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/importutils.py", line 52, in import_object_ns
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver     return import_class(import_str)(*args, **kwargs)
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/importutils.py", line 28, in import_class
2014-04-21 10:51:26.114 1629 TRACE nova.virt.driver     __import__(mod_str)
2014-04-21 10:51:26.114 1629 TRACE …
Run Code Online (Sandbox Code Playgroud)

openstack docker

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

PHP $ _FILES无法正确加载

我希望我能给你一个链接,但上次他们把它归咎于我所以这里是javascript代码:

function Multifile(list){
    this.id=0;
    this.list=list;

    this.createNew=function(element){
        element.name='file[]';
        element.multiFile=this;

        element.onchange=function(){
            var newElement=document.createElement('input');
            newElement.type='file';
            this.parentNode.insertBefore(newElement,this);
            this.multiFile.createNew(newElement);
            this.multiFile.addList(this);
            this.style.position='absolute';
            this.style.left='-1000px';
        };
    };

    this.addList=function(element){
        var newRow=document.createElement('div');
        var newButton=document.createElement('input');

        newButton.type='button';
        newButton.value='delete';
        newRow.element=element;

        newButton.onclick=function(){
            this.parentNode.element.parentNode.removeChild(this.parentNode.element);
            this.parentNode.parentNode.removeChild(this.parentNode);
            return false; //safari thing
        };

        newRow.innerHTML=element.value;
        newRow.appendChild(newButton);
        this.list.appendChild(newRow);
    };
};

var multifile=new Multifile(document.getElementById('fList'));
multifile.createNew(document.getElementById('file'));
Run Code Online (Sandbox Code Playgroud)

这是HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form id="upload" action="uploadPost.php" method="post" enctype="multipart/formdata">
            <input id="file" type="file"/>
            <input type="submit" value="upload"/>
        </form>
        <div id="fList">
        </div>
        <script type="text/javascript" src="javascriptcode.js">
        </script> …
Run Code Online (Sandbox Code Playgroud)

html javascript php upload

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