anchor.diff:  
   .Printing the schema of our data
   [source,scala]
  ----
  +----
   events.printSchema()
  ----
  -
  -You should get something along the lines of:
  -
  -.The schema of our events
  -[source,scala]
  ----
  -root
  - |-- actor: struct (nullable = true)
  - |    |-- avatar_url: string (nullable = true)
  - |    |-- gravatar_id: string (nullable = true)
  - |    |-- id: long (nullable = true)
  - |    |-- login: string (nullable = true)
  -etc
  ----
  +
  +// root
  +//  |-- actor: struct (nullable = true)
  +//  |    |-- avatar_url: string (nullable = true)
  +//  |    |-- gravatar_id: string (nullable = true)
  +//  |    |-- id: long (nullable = true)
  +//  |    |-- login: string (nullable = true)
  +// etc
  +----
   
   The fields which interest us in this chapter are the _actor_, the _type_ of
   event as well as a few fields in the _payload_.
  
positive.code: 
  .Checking the schema and the first few records of our transformed dataset
  [source,scala]
  ---
  projectedEvents.printSchema()
  projectedEvents.show(5, truncate = false)
  ---
  
  We now have a dataset which looks more or less like this:
  
  
negative.code: 
  == Summary
  
  Fiddle with tol + max iter to see if you can get better results
  Also try out other algos such as LDA or...
  