!pwd /home/sergey/grep_ !cat file.txt movieId,title,genres 1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy 2,Jumanji (1995),Adventure|Children|Fantasy 3,Grumpier Old Men (1995),Comedy|Romance 4,Waiting to Exhale (1995),Comedy|Drama|Romance 5,Father of the Bride Part II (1995),Comedy 6,Heat (1995),Action|Crime|Thriller 7,Sabrina (1995),Comedy|Romance 8,Tom and Huck (1995),Adventure|Children 9,Sudden Death (1995),Action Count number of occurencies of «|» 1. With AWK !awk -F «|» ‘{print(NR, NF-1)}’ file.txt 1 0 2 4…

  import pandas as pd from datetime import datetime as dt   weekdays = pd.date_range(«2015-01-01″,»2016-12-31″, freq=»B») [print(x) for x in weekdays[:10]] 2015-01-01 00:00:00 2015-01-02 00:00:00 2015-01-05 00:00:00 2015-01-06 00:00:00 2015-01-07 00:00:00 2015-01-08 00:00:00 2015-01-09 00:00:00 2015-01-12 00:00:00 2015-01-13 00:00:00 2015-01-14 00:00:00 [None, None, None, None, None, None, None, None, None, None]   weekdaysM10 = weekdays[9:]…

  Посмотрим содержание и структуру файла, который будем конвертировать в формат parquet:   ! head -n5 /home/sergey/Py_SparkDataFrame_edx_CS105_CS110_CS120/data/201408_status_data.csv «station_id»,»bikes_available»,»docks_available»,»time» «2″,»12″,»15″,»2014-03-01 00:00:02″ «2″,»12″,»15″,»2014-03-01 00:01:03″ «2″,»12″,»15″,»2014-03-01 00:02:03″ «2″,»12″,»15″,»2014-03-01 00:03:02″   Для конвертации нам понадобится определение типов полей («схема»):   from pyspark.sql.types import * customSchema = StructType([ StructField("station_id", IntegerType(),True), StructField("bikes_available", IntegerType(),True), StructField("docks_available", IntegerType(),True), StructField("time", TimestampType(),True), ])   Прочитаем csv…

  Список всех файлов в Hadoop:   ! hdfs dfs -du -h 0 .Trash 5.1 K 201408_station_data.csv 622.8 M 201408_status_data.csv 19.7 M 201408_trip_data.csv 78.4 K 201408_weather_data.csv 160.0 M NASA_access_log_Aug95 2.2 K README.txt 5.1 K test.csv   Конвертируем список в Python лист:   import sh hdfsDir = «/user/sergey/» fileList = [ ‘hdfs://’+line.split(» «)[-1] for line in…

sc.version ’2.0.0′ from pyspark import SparkContext, HiveContext context = HiveContext(sc) path = «file:///home/sergey/Py_SparkDataFrame_edx_CS105_CS110_CS120/data/201408_status_data.csv» df = context.read.csv(path, header=True).cache() df.printSchema() root |— station_id: string (nullable = true) |— bikes_available: string (nullable = true) |— docks_available: string (nullable = true) |— time: string (nullable = true) df.count() 18342210 df.show(5) +———-+—————+—————+——————-+ |station_id|bikes_available|docks_available| time| +———-+—————+—————+——————-+ | 2| 12| 15|2014-03-01 00:00:02|…

from pyspark.sql import SQLContext sqlContext = SQLContext(sc) Reading csv with customSchema from pyspark.sql.types import * customSchema = StructType([ StructField("id", IntegerType(), True), StructField("bikes_available", IntegerType(), True), StructField("docks_available", IntegerType(), True), StructField("time", TimestampType(), True) ]) path = «file:///home/sergey/Py_SparkDataFrame_edx_CS105_CS110_CS120/data/201408_status_data.csv» df = sqlContext.read.csv(path, header=True, schema=customSchema) df.show(5) +—+—————+—————+———————+ | id|bikes_available|docks_available| time| +—+—————+—————+———————+ | 2| 12| 15|2014-03-01 00:00:…| | 2| 12| 15|2014-03-01 00:01:…|…

Файловая система HDFS (Hadoop Distributed File System) существует независимо от файловой системы хоста, работающего как правило, на базе *nix ОС. Тем не менее, набор команд для управления HDFS очень похож на стандартный набор командной строки *nix OS, регламентируемый POSIX стандартом ( ls, mkdir, rm, cp, du, df ) и может быть сгруппирован следующим образом: Просмотр…

pwd ‘/home/sergey/myvagrant’ В данной статье я рассматриваю пример реализации алгоритма Alternating Least Squares для выдачи рекомендаций методом Collaborative Filtering на Spark. Входными данными служит «длинная» матрица, строки которой являются одной рекомендацией. Столбцы: User ID: кто дает рекомендацию Object ID: что рекомендуют Рекомендация: численное значение рекомендации (может быть 0/1, может быть диапазон, например, от 0 до…

pwd() ‘/home/sergey/myvagrant’ Spark позволяет обрабатывать большие объемы рапределенных данных, которые хранятся в RAM на Hadoop фермах. В данном примере я покажу, каким образом можно применить данную технологию для подсчета частоты употребления слов в англоязычной версии «Война и Мир» Толстого. Логическим продолжением этого упражнения может быть решение таких практических задач как: recommender systems (collaborative filtering or…

Prepare data import time import numpy as np import matplotlib.pyplot as plt from collections import OrderedDict from pyspark import SparkContext from pyspark.mllib.classification import LogisticRegressionWithSGD from pyspark.mllib.tree import RandomForest from pyspark.mllib.classification import LabeledPoint %matplotlib inline sc = SparkContext() clean.csv is original file with nan filled with mean of the column. features = sc.textFile(‘/home/sergey/MachineLearning/biline/clean.csv’) features = features.map(lambda…

© 2014 In R we trust.
Top
Follow us: