emr

SparkUI for pyspark - corresponding line of code for each stage?

给你一囗甜甜゛ 提交于 2019-12-05 04:41:06
I have some pyspark program running on AWS cluster. I am monitoring the job through Spark UI (see attached). However, I noticed that unlike the scala or Java spark program, which shows each Stage is corresponding to which line of code, I can't find which Stage is corresponding to which line of code in the pyspark code. Is there a way I can figure out which Stage is corresponding to which line of the pyspark code? Thanks! 来源: https://stackoverflow.com/questions/38315344/sparkui-for-pyspark-corresponding-line-of-code-for-each-stage

Performance issue in hive version 0.13.1

家住魔仙堡 提交于 2019-12-05 02:03:55
问题 I use AWS-EMR to run my Hive queries and I have a performance issue while running hive version 0.13.1. The newer version of hive took around 5 minutes for running 10 rows of data. But the same script for 230804 rows is taking 2 days and is still running. What should I do to analyze and fix the problem? Sample Data: Table 1: hive> describe foo; OK orderno string Time taken: 0.101 seconds, Fetched: 1 row(s) Sample data for table1: hive>select * from foo; OK 1826203307 1826207803 1826179498

Compress file on S3

我怕爱的太早我们不能终老 提交于 2019-12-04 23:51:37
I have a 17.7GB file on S3. It was generated as the output of a Hive query, and it isn't compressed. I know that by compressing it, it'll be about 2.2GB (gzip). How can I download this file locally as quickly as possible when transfer is the bottleneck (250kB/s). I've not found any straightforward way to compress the file on S3, or enable compression on transfer in s3cmd, boto, or related tools. Michel Feldheim S3 does not support stream compression nor is it possible to compress the uploaded file remotely. If this is a one-time process I suggest downloading it to a EC2 machine in the same

AWS EMR perform “bootstrap” script on all the already running machines in cluster

你离开我真会死。 提交于 2019-12-04 17:15:33
问题 I have one EMR cluster which is running 24/7. I can't turn it off and launch the new one. What I would like to do is to perform something like bootstrap action on the already running cluster, preferably using Python and boto or AWS CLI. I can imagine doing this in 2 steps: 1) run the script on all the running instances (It would be nice if that would be somehow possible for example from boto) 2) adding the script to bootstrap actions for case that I'd like to resize the cluster. So my

GroupBy Operation of DataFrame takes lot of time in spark 2.0

随声附和 提交于 2019-12-04 14:37:01
In one of my spark job (2.0 on EMR 5.0.0) where I had about 5GB of data that was crossed joined with 30 rows(data size few MBs). I further needed to group by it. What I noticed that I was taking lot of time (Approximately 4 hours with one m3.xlarge master and six m3.2xlarge core nodes). In total time 2 hour was taken by processing and another 2 hour was taken to write data to s3. The time taken was not very impressive to me. I tried searching over net and found this link that says groupBy leads lot of shuffling. It also suggests that for avoiding lot of shuffling ReduceByKey should be used

Configure Zeppelin's Spark Interpreter on EMR when starting a cluster

风流意气都作罢 提交于 2019-12-04 07:30:55
I am creating clusters on EMR and configure Zeppelin to read the notebooks from S3. To do that I am using a json object that looks like that: [ { "Classification": "zeppelin-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "ZEPPELIN_NOTEBOOK_STORAGE":"org.apache.zeppelin.notebook.repo.S3NotebookRepo", "ZEPPELIN_NOTEBOOK_S3_BUCKET":"hs-zeppelin-notebooks", "ZEPPELIN_NOTEBOOK_USER":"user" }, "Configurations": [ ] } ] } ] I am pasting this object in the Stoftware configuration page of EMR: My question is, how/where I can configure the Spark interpreter

Add streaming step to MR job in boto3 running on AWS EMR 5.0

巧了我就是萌 提交于 2019-12-04 02:59:47
问题 I'm trying to migrate a couple of MR jobs that I have written in python from AWS EMR 2.4 to AWS EMR 5.0. Till now I was using boto 2.4, but it doesn't support EMR 5.0, so I'm trying to shift to boto3. Earlier, while using boto 2.4, I used the StreamingStep module to specify input location and output location, as well as the location of my mapper and reducer source files. Using this module, I effectively didn't have to create or upload any jar to run my jobs. However, I cannot find the

阿里EMR

北慕城南 提交于 2019-12-04 01:37:51
阿里文档: EMR里可以通过 Ranger组件来实现 https://help.aliyun.com/document_detail/66410.html?spm=a2c4g.11186623.3.4.1a685b78iZGjgK 4.AWS S3迁移到阿里OSS https://help.aliyun.com/document_detail/95130.html?spm=a2c4g.11186623.2.8.73cf48fayabm5m#concept-igj-s12-qfb 5.UFile迁移到阿里OSS 在线迁移服务目前暂时未包括UFile,可以通过UFile提供的工具将文件下到NAS或本地 https://docs.ucloud.cn/storage_cdn/ufile/tools/tools/tools_file 再通过在线迁移服务从本地NAS弄到OSS https://help.aliyun.com/document_detail/98476.html?spm=a2c4g.11174283.6.617.480251ccL3tHG2 目前UFile应该也是兼容了S3 API的,所以可以尝试用迁移S3的方式先试试看能否迁UFile的数据 1. binlog 写到 HDFS https://help.aliyun.com/document_detail/71539.html

How does MapReduce read from multiple input files?

我是研究僧i 提交于 2019-12-03 21:12:23
I am developing a code to read data and write it into HDFS using mapreduce . However when I have multiple files I don't understand how it is processed . The input path to the mapper is the name of the directory as evident from the output of String filename = conf1.get("map.input.file"); So how does it process the files in the directory ? In order to get the input file path you can use the context object, like this: FileSplit fileSplit = (FileSplit) context.getInputSplit(); String inputFilePath = fileSplit.getPath().toString(); And as for how it multiple files are processed: Several instances

How to specify mapred configurations & java options with custom jar in CLI using Amazon's EMR?

雨燕双飞 提交于 2019-12-03 13:08:14
问题 I would like to know how to specify mapreduce configurations such as mapred.task.timeout , mapred.min.split.size etc. , when running a streaming job using custom jar. We can use the following way to specify these configurations when we run using external scripting languages like ruby or python: ruby elastic-mapreduce -j --stream --step-name "mystream" --jobconf mapred.task.timeout=0 --jobconf mapred.min.split.size=52880 --mapper s3://somepath/mapper.rb --reducer s3:somepath/reducer.rb --input