小编sim*_*ing的帖子

Pig 中的“group as”是如何工作的?

我无法理解循环是如何group by group_name工作的foreach

假设我们已经有一个名为的变量,grouped_data其定义为:

grouped_data = group dataset by (emp_id, dept_id);
Run Code Online (Sandbox Code Playgroud)

然后我们想要迭代每个记录并grouped_data添加聚合列。因此编写如下:

with_hours_worked = FOREACH grouped_data 
                    GENERATE group AS grp, 
                             SUM(dataset.worked_hours) AS hours ;
Run Code Online (Sandbox Code Playgroud)

我对最后一行发生的事情感到困惑,尤其是那group AS grp部分。是grp一个元组吗?线路是否grouped_data转换回组?如果是这样,为什么?

apache-pig

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

如何在AWS Data Pipeline的控制台中创建参数

我想在AWS DataPipeline的控制台中定义一些参数,但不能这样做。这些参数将在SqlActivity中调用,因此当我尝试在嵌入式SQL脚本中引用它们并保存管道时,会收到错误消息,指出不存在此类参数。参数页面为空白,我找不到创建该按钮的按钮。Google的结果全都向我展示了如何创建参数化管道,这并不是我要寻找的东西

amazon-web-services amazon-data-pipeline

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

将变量从Bash传递到psql

我在将变量从Bash传递到psql命令时遇到麻烦。无法弄清楚需要在哪里放置引号或括号

我实质上是想将今天的日期插入PostGres表的日期列中

today=$(date +"%m-%d-%Y")

echo $today
#10-05-2015

psql -h hostname -U admin -d db-p 5439 -c \
"INSERT INTO public.log_table (day, rowcount) VALUES ("$today", $rowcount)";
Run Code Online (Sandbox Code Playgroud)

我尝试了$today不带引号和其他一些变体的电话,但无法让它传递我想要的东西,即10-05-2015。而是-2010插入值,该值必不可少的是10减5减2015 ...

bash

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

aws s3 cp 到本地文件未替换文件

我有一个正在运行的 shell 脚本aws s3 cp s3://s3file /home/usr/localfile。该文件已存在于该目录中,因此该cp命令本质上是从 S3 获取最新副本以获取最新版本。

然而,我今天注意到该文件不是最新版本;它与 S3 上的文件不匹配。查看最近两次运行的 shell 脚本stdout,看起来命令已运行 - 输出为:download: s3://s3file to usr/localfile。但当我比较副本时,它们并不匹配。当我通过 WinSCP(文件传输客户端)在本地计算机上查看文件时,文件上的时间戳changed也没有改变

我刚才在 shell 中手动运行该命令,它将文件从 S3 复制到本地计算机并成功获取最新副本。

我是否需要为此添加特定选项,或者文件在之后不覆盖文件是典型行为aws s3 cp

shell amazon-s3

5
推荐指数
0
解决办法
2640
查看次数

有没有办法在Python中读取文件时跳过特定的行号?

我正在使用该csv库来解析文件.我需要跳过6行并直接进入第7行并解析其余部分.我能跑reader.next()6次,但看起来很奇怪:

reader = csv.reader(csvfile)

reader.next()
reader.next()
reader.next()
reader.next()
reader.next()
reader.next()

for row in reader:
    print row
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有办法以另一种方式跳过6行?

python csv

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

如何定义查找功能?

试图为我的向量定义一个查找函数,因为该向量包含多个数据; 它是结构的向量

我正在输入一个ID,我正在尝试在我的表中搜索它并查找其索引(如果该ID已存在)

所以我在这里有声明:

vector<Employee> Table;
vector<Employee>::iterator It;
vector<Employee>::iterator find_It;

//Table has these values
//Table.ID, Table.ch1, Table.ch2
Run Code Online (Sandbox Code Playgroud)

而我正试图在这里找到ID:

cin >> update_ID;
find_It = find(Table.begin(), Table.end(), update_ID);
Run Code Online (Sandbox Code Playgroud)

是否有办法使用变量update_ID进行查找?

我试过这样做:

find_It = find(Table.begin(), Table.end(), (*It).update_ID;
Run Code Online (Sandbox Code Playgroud)

但显然我的矢量Employee没有名为update_ID的数据成员

我想要做的另一个选择是创建我自己的find函数,我对如何定义有点困惑

我想返回Table.ID = update_ID的ID索引

我将什么作为返回类型和值参数?是吗

returntype find( Iterator, Iterator, update ID)
{ 
    for (vector<Employee>::iterator myit = Table.begin(), Table.end(), myit++)
    {
        if update_ID == Table.ID
        {
            return myit;
        }
    }
    return myit
}
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

无法将 StructField 与 PySpark 一起使用

我正在运行 PySpark shell,但无法创建数据框。我已经搞定了

import pyspark
from pyspark.sql.types import StructField
from pyspark.sql.types import StructType
Run Code Online (Sandbox Code Playgroud)

全部没有返回任何错误。

然后我尝试运行这些命令:

schemaString = "name age"
fields = [StructField(field_name, StringType(), True) for field_name in schemaString.split()]
Run Code Online (Sandbox Code Playgroud)

并不断收到错误:` name 'StructField' 未定义

基本上,我在这里关注 Spark 文档:https://spark.apache.org/docs/1.3.0/sql-programming-guide.html

奇怪的是,如果我删除for循环并执行此操作,它会起作用:

fields = [StructField('field1', StringType(), True)]
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

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

如何在 PySpark 中使用 Spark 的 registerDataFrameAsTable?

使用时遇到问题registerDataFrameAsTable。根据文档,它看起来在类中sqlContext,所以我自然地尝试了这个:

df = spark.registerDataFrameAsTable(mydf, "table1")
Run Code Online (Sandbox Code Playgroud)

但这导致了这个错误:

AttributeError: 'SparkSession' object has no attribute 'registerDataFrameAsTable' 
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个:

from pyspark.sql import SQLContext
df = SQLContext.registerDataFrameAsTable(mydf, "table1")
Run Code Online (Sandbox Code Playgroud)

但这导致了这个奇怪的错误:

类型错误:registerDataFrameAsTable() 缺少 1 个必需的位置参数:“tableName”

这似乎是使用该函数的错误方法,因为看起来我必须显式命名参数,并且它也需要该self参数。

apache-spark pyspark

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

如何在不添加'\n'的情况下附加到文件?

我正在阅读并附加到每次我的Python程序运行时正在打开和读取的文本文件.它基本上是一个字符串日志.问题是,当我最初写入空白文件时,我必须包括action.write('\n')以便下一行打印下一个字符串.

但是,当我下次运行Python程序时读取文件时,它会读取"\n"并将其连接到前一个元素,该元素将添加到列表中.

这是基本上发生的事情:

pc = ["121", "343", "565", "787"]

with open(r"C:\tt.txt", "r+") as act:
   curr=[]

   for row in act:
      if row == '\n':
         pass
      else:
         curr.append(row)

   for i in pc:
      act.write(i)
      act.write("\n")

print curr

>> curr = ['121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n']
Run Code Online (Sandbox Code Playgroud)

我真的很难过如何解决这个问题.

python file-io

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

我是否必须解密S3加密的文件?

我使用S3而不是KMS来存储凭证文件,使用Python来读取文件的内容.

我通过在S3中单击它来手动设置加密文件,转到属性 - 详细信息 - 服务器端加密:AES-256

在我的Python脚本中,我读取密钥而不进行更改,因为我在未加密时读取文件.而且我也能够下载文件并打开它而无需像解密那样做任何事情.我原本以为要解密它,所以我有点困惑.

我只是无法理解服务器端加密可以防范什么.任何已经可以访问S3或带有密钥/文件的S3存储桶的人都可以读取该文件吗?谁不能打开文件?

python encryption amazon-s3 amazon-web-services

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