小编bel*_*oky的帖子

在AWS Glue pySpark脚本中使用SQL

我想使用AWS Glue将一些csv数据转换为orc.
我创建的ETL作业生成了以下PySpark脚本:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

args = getResolvedOptions(sys.argv, ['JOB_NAME'])

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "tests", table_name = "test_glue_csv", transformation_ctx = "datasource0")

applymapping1 = ApplyMapping.apply(frame = datasource0, mappings = [("id", "int", "id", "int"), ("val", "string", "val", "string")], transformation_ctx = "applymapping1")

resolvechoice2 = ResolveChoice.apply(frame = applymapping1, choice = "make_struct", …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services pyspark pyspark-sql amazon-athena aws-glue

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

如何使用node.js api同步上传文件到s3

我有以下一段代码:

array.forEach(function (item) {

       // *** some processing on each item ***

        var params = {Key: item.id, Body: item.body};
        s3bucket.upload(params, function(err, data) {
            if (err) {
              console.log("Error uploading data. ", err);
            } else {
              console.log("Success uploading data");
        }});
  });
Run Code Online (Sandbox Code Playgroud)

因为 s3bucket.upload 是异步执行的 - 循环在上传所有项目之前完成。

如何强制 s3bucket.upload 同步?

这意味着在此项目上传(或失败)到 S3 之前不要跳转到下一次迭代。

谢谢

amazon-s3 node.js aws-sdk

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

如何使用Java 7或更早版本实现Java 8 Stream API?

我在求职面试中被问到这个问题(微软).
实现的方法,例如:
.stream(),. filter(),. map(),flatMap(),min(),count(),reduce(),groupBy()

这是一个非常开放的问题,但我认为这是一个有趣的问题.

谢谢

java-8 java-stream

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

计算HBase表中列族中的记录数

我正在寻找一个HBase shell命令,它将计算指定列族中的记录数.我知道我可以跑:

echo "scan 'table_name'" | hbase shell | grep column_family_name | wc -l  
Run Code Online (Sandbox Code Playgroud)

但是这将比标准计数命令运行得慢得多:

count 'table_name' , CACHE => 50000 (because the use of the CACHE=>50000)  
Run Code Online (Sandbox Code Playgroud)

更糟糕的是 - 它没有返回实际的记录数,而是返回指定列族中的单元格总数(如果我没有弄错?).我需要这样的东西:

count 'table_name' , CACHE => 50000 , {COLUMNS => 'column_family_name'}
Run Code Online (Sandbox Code Playgroud)


迈克尔,提前谢谢

database hbase jruby bigdata nosql

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