Posts Tagged ‘java’

Apache Pig ile Veri İşleme

Monday, September 12th, 2011
Hadoop üzerindeki verileri işlemek amacıyla SQL syntax’ına benzer bir dil olan Apache Pig projesini inceliyorum. Örnek olarak log dosyalarındaki ip adreslerini gruplayarak gösteren bir Pig scripti yazdım, şöyle:

/**
* @author haqen
*/
register pig-utils.jar;
A = LOAD ‘error.log’ using com.haqen.pig.MyCustomLoader() AS (in: map[]);
B = FILTER A by in#’_ip’ is not null;
C = GROUP B by in#’_ip’;
D = FOREACH C GENERATE group, COUNT($1) as ip_count;
E = FILTER D BY ip_count > 1;
F = ORDER E BY ip_count DESC;
G = LIMIT F 30;
DUMP G;

Log’u parse etmek için kendi Loader’ımı yazdım. Bu yaştan sonra SQL öğreniyormuş gibi, öğrenmesi sıkıcı ama sonuç alınca keyifli oluyor. Buna alternatif olarak Hive projesi var, onu da kullanıyorum ancak Hive daha ziyade işlenmiş veri üzerinde analiz yapmaya yarıyor diye düşünüyorum. Pig ile ise Map Reduce yazamadan, Java ile uğraşmadan analiz yapabiliyorsunuz. İncelemeye devam edeceğim.

Jersey maven repository

Wednesday, June 29th, 2011
Uzun zamandır Jersey projesinin hangi maven reposunda olduğunu arar dururdum. Nihayet allahın belası repoyu buldum:
<repository>
<id>sonatype</id>
<url>http://repository.sonatype.org/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
Ek: Allahın belası Jersey’in spring entegrasyonunun paket ismi de değişip com.sun.jersey.contribs olmuş. Vay arkadaş sürekli değiştirip durmayın şunu ya!

maven ile jsp precompile işlemi

Wednesday, February 16th, 2011

Projeyi maven ile derlediğimizde jsp’lerin de compile edilmesini istiyorsanız kullanabileceğiniz bir maven plugin’i mevcut. Ben her ne kadar henüz başaramasam da ilgili blog yazısına buradan ulaşabilirsiniz.

Haydi Java compiler’ı kitleyelim!

Wednesday, February 9th, 2011

Bugün öğrendiğim birşeyi paylaşmak istiyorum, aşağıdaki java kodunu derlemeye çalıştığınız zaman derleyici kitleniyor ve sonsuz döngüye giriyor, aman allahım nasıl bir bug bu :)

class compilehang {
public static void main(String[] args) {
double d = 2.2250738585072012e-308;
System.out.println("Value: " + d);
}
}

İşin komiği, aynı problem PHP’de de varmış ama fix edilmiş. .NET ise hayret ettirdi, böyle bir sorun yok :)

Detaylara burdan ulaşabilirsiniz :)

java ile top level domaini bulmak

Thursday, December 2nd, 2010

Geçtiğimiz günlerde bir url içinden top level domaini bulmak gerektiğinde googling yaptım fakat pek sonuç çıkmadı. İş başa düştü fakat reqular expression’ı oldum olası anlamıyorum. Bu yüzden gerektiği zaman konudan anlayan bir arkadaşımdan yardım alıyorum. Sağolsun beni kırmayıp uğraştılar ve aşağıdaki metod ortaya çıktı. Tüm Java geliştiricilerine armağan olsun:


public String getTopLevelDomain(String address) throws MalformedURLException
{
if (!address.startsWith("http")) {
address = "http://" + address;
}
URL url = new URL(address);
Pattern p = Pattern.compile("([a-z0-9\\-]+)\\.([a-z0-9]{2,3})((\\.[a-z0-9]{2})|$)");
Matcher match = p.matcher(url.getHost());
if( match.find() ){
return match.group(0);
}
return url.getHost();
}