!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…

  pwd ‘/home/sergey/Py_SparkDataFrame_edx_CS105_CS110_CS120′   Hive позволяет выполнять скрипты из команды строки. Следующий скрипт позволяет найти имена всех колонок в базе данных:   ! cat searchInDb.sh #!/bin/sh hive -e «use $1;show tables;» | while read line do echo «reading $line table» echo «\nCurrent table is $line» >> tableColumns.txt hive -e «show columns in $line» >> tableColumns.txt…

  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…

© 2014 In R we trust.
Top
Follow us: