Showing posts with label big data. Show all posts
Showing posts with label big data. Show all posts
Tuesday, November 19, 2013
The DataPhilly Meetups:
So many great user groups, but so little time! This year I've started going to the DataPhilly meetups, and I think I'm hooked. The bottom line is DataPhilly talks are very intriguing, expose you to topics you don't encounter everyday, and give you the chance to meet "non-traditional" developers (scientists and statisticians), whose ranks are rapidly growing.
First off, a lot of the talks typically use Python (and sometimes R): There are a ton of libraries in Python when it comes to statistics, data analysis, machine learning, NLP, etc. so that's not surprising. What I like is getting exposure to a language I don't code in frequently and the ecosystem around it. In addition, a lot of times the real gems are hidden in the questions and discussions during the talks and the lightning round sessions at the end.
What follows is a summary of the last meetup:
The first half was on mrjob (https://github.com/Yelp/mrjob), a pretty lightweight (from what I can tell) map reduce library written in Python that lets you run Hadoop streaming jobs locally, on Amazon EMR (Elastic MapReduce), or your own Hadoop cluster. The talk started with word counting, which I swear is the "Hello World" of big data, but as promised quickly moved on to discuss detailed and specific examples (backed by code) of how its used at Monetate to generate product recommendations and gather statistics on user behavior. On the surface it seems super easy to write the MR jobs. The best part was when they discussed user behavior statistics and calculating variance: a Temple U. professor in the audience got on his soapbox and vehemently warned of the dangers of calculating variance using the "single pass algorithm" with single precision numbers due to underflow and overflow. (More on that at the end)
The second half was on Scrapy (http://scrapy.org/), a Python library - scratch that - actually an "appliance" to perform crawling and web scraping. It was a super basic intro that went over its high level architecture, spiders, and how to parse the HTML. For those who didn't know anything about it, it was a decent intro. Of course "Little Bobby" asked the obvious question of how do you maintain the heaping pile of scraping code? The speaker mentioned how Monetate used it heavily back in the day when they were smaller, but now some of their clients give them direct data feeds instead so they don't always have to resort to scraping. Its sort of crazy to to think how much data is still "trapped" in web pages. I don't think that problem is going away anytime soon.
At the end of the night, two people presented during the lighting round:
1. "How airline crew schedules are made" - The speaker presented a modern twist on this combinatorial problem that now tries to minimize pilot fatigue when generating schedules. He discussed the features of a schedule that take this into account (pilot awake time, trips at night, # of timezones crossed, etc) and combining these features along with empirical data on fatigue (cognitive tests based on sleep deprivation, etc.) to come up with a "best fit" formula to use in a cost function. Hey pilots are human - they get sleepy and jet lagged just like the rest of us!
2. The aforementioned Temple U professor quickly set up an example in R to back up his claim earlier, showing how dangerous it is to calculate variance with single precision numbers and using the single-pass algorithm - you can end up with NEGATIVE variance, which makes no sense. He then showed it again using double precision and the two pass algorithm. Here's a wikipedia link that describes it in more detail: http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance - What I personally took away from this: when you perform anything more than very simple computations, know what the library does under the hood and use Google to find out if there are good numeric algorithms out there already. Remember computers are limited precision machines!
BTW, last month, one of the talks was on Python scikit-learn (http://scikit-learn.org/stable/) - a machine learning library. The example used Wikipedia articles written in different languages as training data into scikit-learn and showed a program that identifies which language an arbitrary body of text is written in. It was a gentle intro to machine learning, "document vectorizing", and classification.
Seriously, go check it out!
Friday, September 20, 2013
Come to Chariot's Data I/O Event on October 30th and learn about all-things data
We are holding an all-day event on October 30th, downtown in the Philadelphia Cira Centre, that shines a light on large-scale data processing and application management. In this article I'm going to explain a bit about the event's goals, and some information on the speakers and talks we've been lining up.
First, the logistics. You can find out the full details and register on this page, but here are the basics:
Date/Time, etc
When: October 30, 2013Where: The Cira Centre, Philadelphia, PA Cost: $80 - includes breakfast and lunch
Speakers include
- Camille Fournier - Camille is Head of Engineering at Rent the Runway, and a committer for Apache Zookeeper. She's focused on open-source infrastructure. Zookeeper is a set of glue services that keeps a distributed application platform like Hadoop running across multiple nodes.
- Lars George - Lars George is speaking about big data from experience. He's been working on the HBase, a Hadoop database tool, since 2007, serving as the EMEA (Europe, the Middle East, and Africa) Chief Architect for Cloudera. He also authored HBase - the Definitive Guide.
- Lance Ball - The word on the street lately has been all about node.js and Javascript. Node uses a great event-driven model to process web requests. However, while Node has gotten all the hype, Vert.x has been quietly creating a storm. Vert.x is also event-driven, but it easily scales - using the JVM and the Hazelcast-based clustering mechanism to quickly expand and manage application nodes. Vert.x isn't just programmable in Javascript, but in Java, Groovy, Ruby and even Python. It can run stand-alone, in clusters, even embedded in your own applications. Lance is the creator of Vert.x, which recently moved to the Eclipse Foundation where it enjoys a vendor-neutral standing. It is girded by the Java Netty fast native-I/O API. Come see how you can get Polyglot programming, Java, Javascript, AND scaling all in one platform.
- Max De Marzi - Max is passionate about graph-based data. Any items that can be related together in a relational model usually have inferred hierarchy, but are stuck in the world of the Tuple. In neo4j, the Graph-based database from Neo Technology, you design your datasets using objects and relationships in a graph-oriented way. Max will review some key use cases, such as social networking, recommendation engines, personalization, and a number of others to see how you can leverage Neo4j to quickly handle large, interconnected datasets.
- Claudia Perlich - Claudia was a keynoter at Chariot's 2013 Emerging Technologies for the Enterprise conference, where she talked about data science as an industry. She has a strong data analysis background, holding a PhD in Information Systems from NYU, and is the Chief Data Scientist at Media Six Degrees. Claudia holds several patents, has spoken at dozens of conferences and is an author on a number of papers, journals and books.
- Grant Ingersoll - As a founder of LucidWorks, he supports the active Lucene search community. He is a committer to Solr, which is an enterprise search platform that allows for full-text searching of large volumes of traffic.
- Eric Snyder Amazon Redshift is a SQL-based clustered data warehouse with instant on-demand scaling and pay-as-you-use techniques. Eric will show you the pros and cons of this service.
- Walt Mankowski - Angle - Walt Mankowski will review several Python APIs that can do math and science calculations at the speed of C/Fortran, but with simplicity of scripting. There is NumPy, a math library that can deal with multi-dimensional data, and SciPy, which extends NumPy with scientific calculation features.
We are awaiting abstracts from a few of our speakers, but hopefully this gives you an idea of the types of topics they'll be speaking about. For $80 and a day of your time, we are providing you with a day of talks in a number of key data analysis and processing areas. Sign up today and secure your seat.
Details and registration links
Subscribe to:
Posts (Atom)