Thursday, 10 January 2019

Most occurred first character in the word of a file -PIG


Most occurred first character in the word of a  file


lines  = LOAD '/user/cloudera/my-friends' AS (line: chararray); 
tokens = FOREACH lines GENERATE flatten(TOKENIZE(line)) As token:chararray;
letters = FOREACH tokens  GENERATE SUBSTRING(token,0,1) As letter:chararray;
lettergrp = GROUP letters by letter; 
countletter  = FOREACH  lettergrp  GENERATE group,COUNT(letters);
OrderCnt = ORDER countletter BY $1 DESC; 
result = LIMIT OrderCnt 1;
STORE result into '/user/cloudera/dummy5556777777';

PIG WC


A = load '/user/cloudera/55';
B = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;
C = filter B by word matches '\\w+';
D = group C by word;
E = foreach D generate COUNT(C),group;
store E into '/user/cloudera/n66';

PIG more functions



Step 1:  create file “my-friend” with some rows like
1,abc,1892
2,xyz,1894
3,apple,1896
4,orange,1892
Step 2: upload to HDFS file browser
Step3:  Grunt> log = LOAD ‘/user/cloudera/my-friend’ AS (sno,name,dob);
Step 4: grunt> A = FOREACH  log generate sno,name,dob;
Step 5: describe A;
Step 6: B = GROUP A BY dob;
Step 7: DUMP B;
Result:
 (1892,{(4,orange,1892),(1,abc,1892)})
(1894,{(2,xyz,1894)})
(1896,{(3,apple,1896)})
Step 8: cntd = FOREACH B GENERATE group,COUNT(A) as cnt;
Step 9:  STORE B  INTO ‘ouput’;

PIG

Grunt>A = LOAD '/user/cloudera/mymovie' using PigStorage(',') as (col1: int,col2:chararray,col3:chararray,col4:chararray,col5:chararray);


Grunt> DUMP A;

Grunt> B = FOREACH A generate col1,col4,col5;

Grunt> DUMP B;
CREATE TABLE feedback_vnr(comments STRING);

load data LOCAL INPATH '/home/cloudera/Desktop/file.txt' INTO TABLE feedback_vnr;


select * from feedback_vnr;

select split(comments,' ') FROM feedback_vnr;
select explode(split(comments,' ')) FROM feedback_vnr
select word,count(*) from (select explode(split(comments,' ')) as word from feedback_vnr)  tmp GROUP BY word;

Saturday, 5 January 2019

Most occurred first character in the word of a file


lines  = LOAD '/user/cloudera/my-friends' AS (line: chararray); 
tokens = FOREACH lines GENERATE flatten(TOKENIZE(line)) As token:chararray;
letters = FOREACH tokens  GENERATE SUBSTRING(token,0,1) As letter:chararray;
lettergrp = GROUP letters by letter; 
countletter  = FOREACH  lettergrp  GENERATE group,COUNT(letters);
OrderCnt = ORDER countletter BY $1 DESC; 
result = LIMIT OrderCnt 1;
STORE result into '/user/cloudera/dummy5556777777';

Friday, 28 December 2018

shiny new

library(shiny)
ui <- fluidPage(
   titlePanel("TABLE"),
    sidebarLayout(
      sidebarPanel(
        sliderInput("num", "integer", 1, 20, 1,
                    step = 1, animate =
                      animationOptions(interval=400, loop=TRUE))),
      mainPanel(
        tableOutput("prod")
      )) )
 
server <- function(input, output) {
    output$prod <- renderPrint({ x<-input$num
    for(i in 1:10){
      a=x*i
      cat(x,"x",i,"=",a,"<br>")
       }})}

shinyApp(ui = ui, server = server)

table shiny

library(shiny)
fluidPage(
  titlePanel("Manish"),
  sidebarLayout(
    sidebarPanel(
      sliderInput("num", "integer", 1, 20, 1,
         step = 1, animate =
 animationOptions(interval=400, loop=TRUE))),
    mainPanel(
      tableOutput("prod")
    ) ))
______________________________________________
function(input, output) {
  output$prod = renderPrint({ x=input$num
  for(i in 1:10){
    a=x*i
    cat(x,"x",i,"=",a,"<br>") } }) }